根据屏幕方向影响按钮布局,无需单独的布局文件

Dre*_*ejc 2 android

有没有办法根据屏幕方向影响按钮小部件布局,而不为每个方向添加额外的布局?

比如 肖像:

<android:id="@+id/button"
        android:text="@string/title"
        android:drawableTop="@drawable/icon" />
Run Code Online (Sandbox Code Playgroud)

景观:

<android:id="@+id/button"
        android:text="@string/title"
        android:drawableLeft="@drawable/icon" />
Run Code Online (Sandbox Code Playgroud)

小智 6

您可以提取该属性并为按钮添加样式

<android:id="@+id/button"
        android:text="@string/title"
        style="@style/yourbuttonstyle" />
Run Code Online (Sandbox Code Playgroud)

然后使用普通资源文件夹限定符创建两个不同的样式文件,一个输入res/values和一个输入res/values-land.它们看起来像这样:

RES /值/ styles.xml

<style name="yourbuttonstyle">
        <item name="android:drawableTop">@drawable/icon</item>
</style>
Run Code Online (Sandbox Code Playgroud)

RES /值-脊/ styles.xml

<style name="yourbuttonstyle">
        <item name="android:drawableLeft">@drawable/icon</item>
</style>
Run Code Online (Sandbox Code Playgroud)

有关如何完全执行此操作的更多文档,请参阅定义样式