一、隐藏ActionBar
第一种:配置AndroidManifest.xml
在activity中添加android:theme="@style/Theme.AppCompat.Light.NoActionBar
<activity android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
但是这种方法不灵活,所以就选择在java代码中编写
第二种:
使用java代码
只需要在onCreate方法中添加
//获取ActionBar
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取ActionBar
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
}
}
一个简单的例子:
点击按钮隐藏或显示actionBar
1、书写布局文件添加两个按钮
2、为按钮添加点击事件
3、使用getSupportActionBar()方法获取ActionBar
4、隐藏按钮调用hide()方法;
5、显示按钮调用show()方法;
布局文件
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/hide_actionbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="隐藏ActionBar"
android:layout_weight="1"
android:layout_margin="10dp"
android:textAllCaps="false"
/>
<Button
android:id="@+id/show_actionbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示ActionBar"
android:layout_weight="1"
android:layout_margin="10dp"
android:textAllCaps="false"
/>
</LinearLayout>
java代码
public class MainActivity extends AppCompatActivity {
@BindView(R.id.hide_actionbar)
Button hideActionbar;
@BindView(R.id.show_actionbar)
Button showActionbar;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//使用黄油刀
ButterKnife.bind(this);
//获取ActionBar
actionBar = getSupportActionBar();
}
@OnClick({R.id.hide_actionbar, R.id.show_actionbar})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.hide_actionbar:
actionBar.hide();
break;
case R.id.show_actionbar:
actionBar.show();
break;
}
}
}