100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Android 隐藏导航栏

Android 隐藏导航栏

时间:2024-06-15 03:59:06

相关推荐

Android 隐藏导航栏

因为项目需要, 要实现屏幕全屏,隐藏虚拟按键,即导航栏

SYSTEM_UI_FLAG_LOW_PROFILE 相当于隐藏导航栏

SYSTEM_UI_FLAG_VISIBLE导航栏显示

SYSTEM_UI_FLAG_HIDE_NAVIGATION 要求导航栏完全隐藏-->但这对部分硬件设备有效

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:id="@+id/tv"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="单击屏幕,隐藏或显示导航栏"/></LinearLayout>

第一种方法:直接隐藏掉当前activity的导航栏

package com.example.setbutton; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.Window; import android.view.WindowManager; public class MainActivity extends Activity { Window window; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // main = getLayoutInflater().from(this).inflate(R.layout.main, null); window = getWindow(); WindowManager.LayoutParams params = window.getAttributes(); params.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE; window.setAttributes(params); setContentView(R.layout.main); } }

第二种方法:点击触发显示或隐藏

package com.ncsyeyy.YeyyHideNavigator;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.TextView;import android.widget.Toast;public class MyActivity extends Activity {private TextView tv;private View rootView;/*** Called when the activity is first created.*/@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);findView();setListener();}private void setListener() {tv.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//得到当前根view的状态int i=rootView.getSystemUiVisibility();Log.e("setOnClickListener",i+"");//如果当前导航栏显示,就设置为隐藏if (i==View.SYSTEM_UI_FLAG_VISIBLE){//设置当前根视图的显示形式rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);}}});rootView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {@Overridepublic void onSystemUiVisibilityChange(int visibility) {Log.e("OnSystemUiVisibilityChangeListener",visibility+"");//根据当前view的显示状态进行不同的提示if (visibility==View.VISIBLE){Toast.makeText(MyActivity.this,"显示导航按钮",Toast.LENGTH_LONG).show();}else {Toast.makeText(MyActivity.this,"隐藏导航按钮",Toast.LENGTH_LONG).show();}}});}private void findView() {tv = (TextView) findViewById(R.id.tv);// 得到当前窗口的根viewrootView = getWindow().getDecorView();// 设置根view的导航栏为隐藏rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);}}

博客地址:/detail/csdnyuandaimaxuexi/9214587

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。