ActionBar(顶部标题栏)的显示与隐藏

一、隐藏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;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/ifyouwjk/article/details/105431886