【发布时间】:2017-07-11 13:28:16
【问题描述】:
有没有办法防止在 android 布局 xml 中重复代码? 例如,我的布局有一个 TabLayout 我想在其中显示 Tablayout 从右到左方向,所以我使用 android:layoutDirection="rtl" 但正如您所知,API 17 不支持此功能,因此我必须覆盖我的 API 17 代码。但每次我想修改布局时,我都必须在两个 xml 文件中重复相同的操作,有什么简单和更好的方法吗?
API 17 的布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/main_background_color">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<android.support.design.widget.TabLayout
android:id="@+id/promotion_type_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"
app:tabGravity="center"
app:tabTextAppearance="@style/AppTabTextAppearance"
app:tabIndicatorColor="@color/cardview_light_background"
app:tabTextColor="#FFF"
android:layoutDirection="rtl"
/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/promotion_view_pager"
android:background="@color/main_background_color" />
</android.support.design.widget.CoordinatorLayout>
以及在 API 17 下的布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/main_background_color">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<android.support.design.widget.TabLayout
android:id="@+id/promotion_type_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"
app:tabGravity="center"
app:tabTextAppearance="@style/AppTabTextAppearance"
app:tabIndicatorColor="@color/cardview_light_background"
app:tabTextColor="#FFF"
/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/promotion_view_pager"
android:background="@color/main_background_color" />
</android.support.design.widget.CoordinatorLayout>
【问题讨论】:
标签: android android-layout android-xml