问题 更新时间2023/10/31 10:36:00
如何从某个指定的活动中移除Action Bar?
关注
方法一:
在onCreate方法中添加一句代码
requestWindowFeature(Window.FEATURE_NO_TITLE);
不过这句代码一定要添加到setContentView(R.layout.activity_main); 之前;
否则会报错(Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content);
方法二:
public class MainActivity extends Activity {
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar=getActionBar();
actionBar.hide();
}
}
用getActionBar()得到ActionBar对象,用对象调用hide()方法;
注意配置清单文件中最低版本改为11以上;
方法三:
在配置清单文件中Application选项卡中找到ApplicationNodes中点击对应的Activity,更改右边的theme选项选择System Resources输入
Theme.light.NoTitleBar选择Theme.light.NoTitleBar再点击ok即可;
还可以通过通过添加代码的方式更改主题;
在配置文件中通过android:theme=”“属性隐藏:
android:theme="@android:style/Theme.Light.NoTitleBar" >
还可以通过通过添加代码的方式更改主题;
在使用getActionBar()会报空指针异常的解决办法。
后来就把getActionBar()修改成getSupportActionBar()就行了。
因为 import 的库是import android.support.v7.app.ActionBar;
出自:国家开放大学 >> 国家开放大学Android核心开发技术
答案