自定义视图布局线覆盖 API 16 中的其他元素
Posted
技术标签:
【中文标题】自定义视图布局线覆盖 API 16 中的其他元素【英文标题】:Custom view layout line overstriking other elements in API 16 【发布时间】:2016-12-25 22:56:05 【问题描述】:问题:
我需要什么:
在 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_
android:layout_
cardview:cardCornerRadius="2dp"
cardview:cardElevation="4dp"
style="@style/AppTheme"
cardview:cardUseCompatPadding="true">
<LinearLayout
android:layout_
android:layout_
android:layout_margin="3dp"
android:orientation="horizontal">
<RelativeLayout
android:layout_
android:layout_
android:layout_margin="8dp">
<TextView
android:id="@+id/tv_compra_header_titulo"
android:layout_
android:layout_
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_
android:layout_
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_
android:layout_
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_
android:layout_
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_
android:layout_
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_
android:layout_
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】:请注意,Android API 级别 16 不支持 API 级别 17 中引入的 start
和 end
属性。因此,这些属性将被忽略。
只需添加等效的 left
和 right
属性即可使布局在 API 级别 16 及以下级别上工作。
【讨论】:
很高兴我能帮上忙 ;)以上是关于自定义视图布局线覆盖 API 16 中的其他元素的主要内容,如果未能解决你的问题,请参考以下文章
findViewById() 为布局 XML 中的自定义组件返回 null,而不是其他组件