此處除掉標題欄,需要註意一點,AppCompactActivity是繼承自Activity。然而,AppCompactActivity據查看網上資料得知,其實它貌似沒有標題欄,上面顯示的標題欄是一個ActionBar控制項(PS:即標題欄部分是一個控制項,該控制項功能還比較強大),因此AppCompact ...
1. AppCompatActivity去掉標題欄
此處除掉標題欄,需要註意一點,AppCompactActivity是繼承自Activity。然而,AppCompactActivity據查看網上資料得知,其實它貌似沒有標題欄,上面顯示的標題欄是一個ActionBar控制項(PS:即標題欄部分是一個控制項,該控制項功能還比較強大),因此AppCompactActivity可以對該控制項添加相關返回、許多等類似功能按鈕,如果不添加這些按鈕看起來就像是一個標題欄。
所以,在網上許多去配置value文件夾中的style.xml文件或者在AndroidManifest.xml文件修改theme屬性值都是不能有效去掉標題欄的。這些方法僅僅適用所寫類繼承自Activity的類。
那麼繼承自AppCompactActivity的類,在onCreateView中加入以下第一行代碼即可有效隱藏標題欄,加入兩行即可實現占據全屏功能。(PS:經過樓主自己測試普通瀏覽滑動界面可以隱藏,但是在某些情況下,比如該界面有一個視頻播放功能,點擊全屏播放,退出全屏後,標題欄可能又無法隱藏。不過一般情況下,隱藏功能還是沒問題的)
getSupportActionBar().hide(); //隱藏標題欄 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //實現全屏,隱藏手機頂部時間相關信息顯示
參考資料:android開發:activity繼承AppCompatActivity 去掉標題欄
2.EditText彈出軟鍵盤遮住輸入框問題
具體解釋摘抄自一篇網友博客(PS:方便以後自己查閱,原文鏈接)
在AndroidManifest.xml中對應的Activity配置:android:windowSoftInputMode="adjustResize"(PS:或者換成"stateVisible|adjustResize",此時會強制彈出軟盤)
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloworld"> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".Main2Activity" android:windowSoftInputMode="adjustResize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity"></activity> </application> </manifest>
含義:該頁面屏幕內容被壓縮,以騰出軟鍵盤的空間.
解釋它們的含義:
- stateUnspecified:界面沒有設置"android:windowSoftInputMode"時的狀態.這個狀態是彈出有EditText的界面時時不彈出軟鍵盤的,當EditText獲取焦點的時候彈出軟體盤
- stateUnchanged:狀態不改變,意思就是和上一個界面相同,上一個界面彈出軟鍵盤,跳轉到這個界面時,軟鍵盤也是彈出狀態.
- stateHidden:隱藏鍵盤,彈出這個界面的時候,不管上個界面是什麼狀態,這個界面的軟鍵盤都是隱藏的.
- stateAlwaysHidden:一直隱藏(跟上面的區別未知,試不出來).
- stateVisible:強制彈出軟鍵盤.跳轉到界面後,沒有EditText也彈出鍵盤.
- stateAlwaysVisible:一直顯示鍵盤(同上).