簡體   English   中英

應用程序頂部欄沒有隱藏android

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM