بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مخفی کردن دکمه‌های پیش فرض اندروید

مدیریت گفتگو
mghaffari 11 سال پیش
آخرین تغییر: 11 سال پیش

من میخوام layout ام کل صفحه رو بگیره و حتی دکمه‌های پیش‌فرض اندروید (navigationbar) هم نباشن

تم زیر رو دادم ولی نشد:

  Theme.DeviceDefault.NoActionBar.Fullscreen

همچنین:

 requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                            WindowManager.LayoutParams.FLAG_FULLSCREEN);

نظرات

MeY3am 11 سال پیش
منظورتون رو از دکمه های پیش فرض اندروید رو متوجه نشدم، واضح تر توضیح بدین، میخوای اکتیویتی تمام صفحه بشه؟
mghaffari 11 سال پیش
منطورم 3 تا دکمه پایینه میخوام مثل اپلیکیشن های دوربین خودم دکمه back رو بذارم و باقی دکمه ها هم نباشن
احسان منصوری 11 سال پیش
شما نمی تونید این سه تا دکمه که بهش NavigationBar میگن رو بصورت دائم مخفی کنید چون که توی داکیومنت گوگل این کار غیر مجازه(به دلیل جلوگیری کردن از ساخت برنامه های مخرب). ولی موقت میشه اونارو مخفی کرد. یعنی با اجرای برنامه، NavigationBar مخفی میشه ولی با تاچ کردن صفحه، دوباره ظاهر میشه. می تونید عبارت android hide navigationbar رو سرچ کنید.

پاسخ‌ها 1

mghaffari 11 سال پیش

حل شد:

how-to-hide-navigation-bar-permanently-in-android-activity

 private int currentApiVersion;
 
@Override 
@SuppressLint("NewApi") 
protected void onCreate(Bundle savedInstanceState)
{ 
    super.onCreate(savedInstanceState);
 
    currentApiVersion = android.os.Build.VERSION.SDK_INT;
 
    final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
 
    // This work only for android 4.4+ 
    if(currentApiVersion >= Build.VERSION_CODES.KITKAT)
    { 
 
        getWindow().getDecorView().setSystemUiVisibility(flags);
 
        // Code below is to handle presses of Volume up or Volume down. 
        // Without this, after pressing volume buttons, the navigation bar will 
        // show up and won't hide 
        final View decorView = getWindow().getDecorView();
        decorView
            .setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener()
            { 
 
                @Override 
                public void onSystemUiVisibilityChange(int visibility)
                { 
                    if((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0)
                    { 
                        decorView.setSystemUiVisibility(flags);
                    } 
                } 
            }); 
    } 
 
} 
 
 
@SuppressLint("NewApi") 
@Override 
public void onWindowFocusChanged(boolean hasFocus)
{ 
    super.onWindowFocusChanged(hasFocus);
    if(currentApiVersion >= Build.VERSION_CODES.KITKAT && hasFocus)
    { 
        getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    } 
} 

نظرات

Criss 11 سال پیش
خیلی خوب شد که مشکلتون حل شما < اما من منظور شما رو از سه دکمه های زیر رو متوجه نشدم < اگر ممکنه اسکرین شات بزارید
mghaffari 11 سال پیش
منظورم همون navigationbar بود

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .