使用隐藏操作栏在更大的屏幕上进行Android背景规模挑战

时间:2014-07-24 02:17:48

标签: android xml layout android-actionbar

我正在开发一个带有隐藏操作栏的Android应用程序但是当我在更大屏幕尺寸的手机(Galaxy Note 3)上运行应用程序时,我甚至拥有坚实的背景(@android:颜色/白色)我通常操作栏是灰色的(或者我可以说更暗)。我在应用程序启动时隐藏了操作栏(onCreate),并且Nexus 5的布局正常。请在下面找到我的XML:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="247dp"
        android:layout_height="199dp"
        android:layout_gravity="center_horizontal"
        android:src="@drawable/s" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="?"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/sb"
        android:textStyle="bold"
         />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="Hello"
        android:textColor="@color/sbb"
        android:textSize="13sp" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_gravity="center_horizontal"
        >

        <EditText
            android:id="@+id/editPhoneNumber"
            style="@style/EditTextPhn"
            android:layout_width="170dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:ems="10"
            android:inputType="phone"
            android:maxLength="15"
            android:paddingTop="15dp"
            android:textColor="@color/sbb" >


        </EditText>

         <Button
             android:id="@+id/buttonResetPhoneNumber"
             android:layout_width="38dp"
             android:layout_height="19dp"
             android:background="@color/sbb"
             android:clickable="true"
             android:text="Reset"
             android:textColor="@android:color/white"
             android:textSize="10sp" 
             android:layout_gravity="bottom"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="70dp"
        android:layout_gravity="center_horizontal"
        android:orientation="vertical"
        android:paddingTop="25dp" >

        <Button
            android:id="@+id/buttonLogin"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/sbb"
            android:clickable="true"
            android:text="Go!"
            android:textColor="@android:color/white" />
    </LinearLayout>

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

方法1

一种方法是在AndroidManifest.xml文件中使用Theme.Holo.Light.NoActionBar.Fullscreen值。 (使用您在申请中使用的相应主题名称)

<activity android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
</activity>

方法2

另一种方法是,通过活动中的代码执行此操作。在您的活动中,在调用setContentView()函数

之前执行以下操作
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);        

setContentView(R.layout.activity_main);

Android 4.4(API Level 19)为setSystemUiVisibility()引入了一个新的SYSTEM_UI_FLAG_IMMERSIVE标志,让您的应用真正全屏显示。&#34;

Using Immersive Full-Screen Mode