自定义视图布局行重写API 16中的其他元素

时间:2016-08-18 21:35:07

标签: android android-api-levels

问题:

123 strike through

我需要什么:

1-2-3

在API 23上一切正常,但在API 16中我遇到了这个问题,在模拟器中运行它。 Android Studio还在设备屏幕上显示正确的布局。

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:cardview="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    cardview:cardCornerRadius="2dp"
    cardview:cardElevation="4dp"
    style="@style/AppTheme"
    cardview:cardUseCompatPadding="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="3dp"
        android:orientation="horizontal">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="8dp">

            <TextView
                android:id="@+id/tv_compra_header_titulo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="8dp"
                android:layout_marginTop="4dp"
                android:text="ETAPA"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:visibility="gone" />

            <ImageView
                android:id="@+id/iv_compra_one"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:background="@drawable/ic_looks_one_black_24dp"

                android:backgroundTint="@android:color/tab_indicator_text" />

            <View
                android:id="@+id/view_compra_header_one"
                android:layout_width="wrap_content"
                android:layout_height="3dip"
                android:layout_alignParentEnd="false"
                android:layout_alignParentStart="false"
                android:layout_centerVertical="true"
                android:background="@color/secondaryText"
                android:layout_toEndOf="@+id/iv_compra_one"
                android:layout_toStartOf="@+id/iv_compra_two" />

            <ImageView
                android:id="@+id/iv_compra_two"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center"
                android:background="@drawable/ic_looks_two_black_24dp"
                android:backgroundTint="@android:color/tab_indicator_text" />

            <View
                android:id="@+id/view_compra_header_two"
                android:layout_width="wrap_content"
                android:layout_height="3dip"
                android:layout_alignParentEnd="false"
                android:layout_alignParentStart="false"
                android:layout_centerVertical="true"
                android:background="@color/secondaryText"
                android:layout_toStartOf="@+id/iv_compra_three"
                android:layout_toEndOf="@+id/iv_compra_two" />


            <ImageView
                android:id="@+id/iv_compra_three"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_alignParentEnd="false"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:background="@drawable/ic_looks_3_black_24dp"
                android:backgroundTint="@android:color/tab_indicator_text" />
        </RelativeLayout>
    </LinearLayout>
</android.support.v7.widget.CardView>

1 个答案:

答案 0 :(得分:0)

请注意,Android API级别16不支持{1}}和hclust属性,因为它们是在API级别17中引入的。因此,这些属性只会被忽略。

只需添加等效的startend属性,即可使布局在API级别16及以下版本上运行。