【问题标题】:Android layout match root parentAndroid布局匹配根父级
【发布时间】:2012-06-26 18:43:11
【问题描述】:

如何使布局“几乎全屏”?我的意思是我不想要那个图标和应用程序名称(“测试”)。我只想在顶部区域显示电池和信号状态,并能够在屏幕的其余部分绘制我想要的任何内容

图像来自 Eclipse“图形布局”3.2 英寸 HVGA 滑块 (ADP1) - 纵向

我试图让我的布局填充父项并删除其他所有内容,但图标和文本仍然存在

布局 xml

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="#131325" 
     >    
 </RelativeLayout>

清单 xml

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="myTests.homeSpace"
     android:versionCode="1"
     android:versionName="1.0" >

     <uses-sdk android:minSdkVersion="15" />
     <application
         android:icon="@drawable/ic_launcher"
         android:label="@string/app_name" >
         <activity
             android:name=".TestsActivity"
             android:label="@string/app_name" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />

                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>

         <activity
             android:name=".screen1" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
     </application>
 </manifest>

谢谢

【问题讨论】:

  • 为此您必须修改主题

标签: android layout fullscreen


【解决方案1】:

要删除图像和标题,您必须使用 Theme 尝试将以下代码放入您的 AndroidManifest.xml-

<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="myTests.homeSpace"
     android:versionCode="1"
     android:versionName="1.0" >

     <uses-sdk android:minSdkVersion="15" />
     <application
         android:icon="@drawable/ic_launcher" android:theme="@android:style/Theme.NoTitleBar"
         android:label="@string/app_name" >
         <activity
             android:name=".TestsActivity" android:theme="@android:style/Theme.NoTitleBar"
             android:label="@string/app_name" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />

                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>

         <activity
             android:name=".screen1" android:theme="@android:style/Theme.NoTitleBar">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
     </application>
 </manifest>

看看Theme_NoTitleBar 您也可以通过以下代码以编程方式执行此操作。

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);
}

您必须先使用requestWindowFeature(Window.FEATURE_NO_TITLE);,然后才能调用setContentView(R.layout.main);。如果你想在所有活动中使用它,那么你必须在 setContentView(R.layout.main); 方法之前给每个活动。

【讨论】:

  • 哇,它在模拟器上也能用,但是在eclipse里面设计布局的时候,我仍然可以看到那个图标和文字,我可以去掉它吗?
  • 是的。只需打开您的 xml 布局。最右边的角落,你可以看到下拉列表。从那里您可以看到主题文件。 See this image
【解决方案2】:

或者在java中

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);//<-----------

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    相关资源
    最近更新 更多