相对布局不会水平填充屏幕

时间:2021-02-03 06:05:33

标签: android android-layout screen-size

我有以下布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
    android:id="@+id/app_name"
    android:text="@string/app_name"
    android:layout_centerHorizontal="true"
    android:textSize="30sp"
    android:textColor="#FF000000"
    android:singleLine="true"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    android:layout_alignParentTop="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
</RelativeLayout>

我希望布局扩展到屏幕的边缘,但我得到的是:

enter image description here

声明的主题是 Theme.K9Dialog:

<resources>
<style name="Theme.K9Dialog" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowBackground">@drawable/popup_background</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowContentOverlay">@drawable/panel_separator</item>
</style>

我是否误解了 android:layout_width 应该做什么?

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为您的应用主题中有 <item name="android:windowIsFloating">true</item>,删除它后应该可以正常工作。我也不是为什么您需要在应用主题中使用所有这些属性,例如 android:windowFramendroid:windowAnimationStyle。如果没有这样的要求,请尝试使用默认应用主题并仅将那些属性添加到您想要更改的主题中。