之前使用eclipse的时候一直使用的去掉顶部标题栏有三种方法:
1、在Java文件中进行动态去除标题。该方法就是在代码setContentView前面添加this.requestWindowFeature(Window.FEATURE_NO_TITLE),
代码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); init(); }
不过本人不推荐,因为这种方法在处理能力差的机子上可能有延迟效果,十分难看。
2、在xml中引用没有标题的主题。即是在AndroidManifest.xml文件中声明activity的时候继承没有标题的主题;
代码:
<!--登录--> <activity android:name=".activity.LoginActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="adjustUnspecified|stateHidden" />
3、在style中定义没有标题,然后在AndroidManifest.xml文件中声明activity的时候将style作为主题引入:
代码:
定义style:
<style name="notitle"> <item name="android:windowNoTitle">true</item> </style>
在AndroidManifest.xml中引入:
<!--登录--> <activity android:name=".activity.LoginActivity" android:screenOrientation="portrait" android:theme="@style/notitle" android:windowSoftInputMode="adjustUnspecified|stateHidden" />
4、定义继承主题的style取消标题栏。在Android studio中部分activity继承了AppCompatActivity,这个时候可能前三种方法都有瑕疵。因为继承了AppCompatActivity的必须要继承AppCompat类的主题。该方法步骤和方法3一样,先定义一个style,然后在AndroidManifest.xml中导入该style作为主题。
代码:
style:
<style name="NoTitleTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowNoTitle">true</item> <!--<item name="android:windowFullscreen">true</item>--> </style>
AndroidManifest.xml:
<!--首页--> <activity android:name=".activity.MainActivity" android:screenOrientation="portrait" android:theme="@style/NoTitleTheme" android:windowSoftInputMode="adjustUnspecified|stateHidden" />