setSystemUiVisibility(int visibility)方法可傳入的實(shí)參為:
1. View.SYSTEM_UI_FLAG_VISIBLE:顯示狀態(tài)欄,Activity不全屏顯示(恢復(fù)到有狀態(tài)的正常情況)。
2. View.INVISIBLE:隱藏狀態(tài)欄,同時(shí)Activity會(huì)伸展全屏顯示。
3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏顯示,且狀態(tài)欄被隱藏覆蓋掉。
4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏顯示,但狀態(tài)欄不會(huì)被隱藏覆蓋,狀態(tài)欄依然可見(jiàn),Activity頂端布局部分會(huì)被狀態(tài)遮住。
5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
6. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隱藏虛擬按鍵(導(dǎo)航欄)。有些手機(jī)會(huì)用虛擬按鍵來(lái)代替物理按鍵。
8. View.SYSTEM_UI_FLAG_LOW_PROFILE:狀態(tài)欄顯示處于低能顯示狀態(tài)(low profile模式),狀態(tài)欄上一些圖標(biāo)顯示會(huì)被隱藏。
下面將以一個(gè)demo來(lái)驗(yàn)證view的setSystemUiVisibility(int visibility)方法實(shí)現(xiàn)動(dòng)態(tài)操作狀態(tài)欄:
public class MainActivity extends Activity implements OnClickListener
{
private RelativeLayout mRLayout;
private Button mBtn1, mBtn2, mBtn3, mBtn4, mBtn5, mBtn6, mBtn7, mBtn8;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mRLayout = (RelativeLayout)findViewById(R.id.content);
mBtn1 = (Button)findViewById(R.id.btn1);
mBtn2 = (Button)findViewById(R.id.btn2);
mBtn3 = (Button)findViewById(R.id.btn3);
mBtn4 = (Button)findViewById(R.id.btn4);
mBtn5 = (Button)findViewById(R.id.btn5);
mBtn6 = (Button)findViewById(R.id.btn6);
mBtn7 = (Button)findViewById(R.id.btn7);
mBtn8 = (Button)findViewById(R.id.btn8);
mBtn1.setOnClickListener(this);
mBtn2.setOnClickListener(this);
mBtn3.setOnClickListener(this);
mBtn4.setOnClickListener(this);
mBtn5.setOnClickListener(this);
mBtn6.setOnClickListener(this);
mBtn7.setOnClickListener(this);
mBtn8.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
switch (v.getId())
{
case R.id.btn1:
//顯示狀態(tài)欄,Activity不全屏顯示(恢復(fù)到有狀態(tài)的正常情況)
mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
break;
case R.id.btn2:
//隱藏狀態(tài)欄,同時(shí)Activity會(huì)伸展全屏顯示
mRLayout.setSystemUiVisibility(View.INVISIBLE);
break;
case R.id.btn3:
//Activity全屏顯示,且狀態(tài)欄被隱藏覆蓋掉。
mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
break;
case R.id.btn4:
//Activity全屏顯示,但狀態(tài)欄不會(huì)被隱藏覆蓋,狀態(tài)欄依然可見(jiàn),Activity頂端布局部分會(huì)被狀態(tài)遮住
mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
break;
case R.id.btn5:
//同 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
break;
case R.id.btn6:
//同 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
mRLayout.setSystemUiVisibility(View.SYSTEM_UI_LAYOUT_FLAGS);
break;
case R.id.btn7:
//隱藏虛擬按鍵(導(dǎo)航欄)
mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
break;
case R.id.btn8:
//狀態(tài)欄顯示處于低能顯示狀態(tài)(low profile模式),狀態(tài)欄上一些圖標(biāo)顯示會(huì)被隱藏。
mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
break;
}
}