我知道ConstraintLayout
可以提供比RelativeLayout
更灵活的视图。
使用ConstraintSet
可以使ConstraintLayout
的子视图转换。
在我的情况下,RelativeLayout
中使用ConstraintLayout
是否正确?
我想点击RelativeLayout(ViewGroup)
进入另一项活动。
我尝试使用barrier
和group
使用ConstraintLayout 1.1.0 beta 2
,但这些不能用于视图组点击事件。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- other views-->
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
app:layout_constraintGuide_begin="400dp"
android:orientation="horizontal" />
<!-- Bottom view-->
<RelativeLayout
android:id="@+id/relative_layout"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/guideline">
<ImageView
android:id="@+id/image_view"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_alignParentLeft="true"
/>
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
android:layout_toRightOf="@+id/image_view"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Brief"
android:layout_toRightOf="@+id/image_view"
android:layout_below="@+id/title"/>
</RelativeLayout>
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:1)
如果您想使用constraintlayout并同时使用类似卡片的UI。您应该将约束布局封装在cardview内。实现cardview onClick()并在contraintlayout内部相应地对齐视图:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns: android="http://schemas.android.com/apk/res/android">
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Your views aligned below -->
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.CardView>