[英]Top bar for app not hiding android
我有一個應用程序,在登錄屏幕上,我有多種方式登錄,如Gmail,Facebook和手動登錄。 他們都很好地工作,但當我試圖隱藏顯示應用程序名稱的頂部欄時出現問題。 我知道這與清單中的主題有關,但我沒有說明。 請看看我的代碼,看看我做錯了什么......
的Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.spuck"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23" />
<application
android:allowBackup="true"
android:icon="@drawable/the_spuck_4"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:name=".LoginActivity"/>
LoginActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:facebook="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.spuck.LoginActivity"
style="@style/Red">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="94dp">
<Button
android:id="@+id/sign_in"
android:layout_width="260dp"
android:layout_height="35dp"
android:textSize="13dp"
android:text="Sign In"
android:textColor="@color/white"
android:textAllCaps="false"
android:background="@drawable/signin_button_login_activity"
android:gravity="center"
android:layout_below="@+id/login_button"
android:layout_alignLeft="@+id/sign_in_button"
android:layout_alignStart="@+id/sign_in_button"
android:layout_marginTop="33dp" />
<ImageView
android:id="@+id/app_name"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/the_spuck_3_2"
android:background="@drawable/white_with_round"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp" />
<com.google.android.gms.common.SignInButton
android:id="@+id/sign_in_button"
android:layout_width="260dp"
android:layout_height="35dp"
android:layout_marginTop="41dp"
android:layout_below="@+id/app_name"
android:layout_centerHorizontal="true" />
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="255dp"
android:layout_height="60dp"
android:textColor="#ffffff"
android:layout_marginTop="10dp"
android:shadowColor="#000"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="10"
android:layout_below="@+id/sign_in_button"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</RelativeLayout>
AppTheme.NoActionBar.xml
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">#ff5050</item>
<item name="colorPrimaryDark">#ff5050</item>
</style>
將活動的主題更改為NoActionBar
:
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">#ff5050</item>
<item name="colorPrimaryDark">#ff5050</item>
</style>
正如尼卡所說,他的做法絕對正確。 你需要看到的是有兩種類型的主題。 一個用於API 21及更高版本,另一個用於API 21及更低版本。 您需要做的是將他說的主題分配給兩個版本,因為您希望您的應用程序適用於兩種API條件。 請參閱下面的代碼並告訴我它是否有幫助......
適用於API 21及以上版本:
<resources>
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">#ff5050</item>
<item name="colorPrimary">#ff5050</item>
<item name="colorPrimaryDark">#ff5050</item>
</style>
</resources>
適用於API 21及以下版本:
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">#ff5050</item>
<item name="colorPrimaryDark">#ff5050</item>
</style>
現在要訪問它,您需要將清單更改為:
<activity android:name=".LoginActivity"
android:theme="@style/AppTheme.NoActionBar"/>
PS如果您不確定如何查看各自API的主題,請按住ctrl按鈕並單擊“AppTheme.NoActionBar”文本,它將顯示兩個要找到它們的字段,並且只需編輯它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.