我需要将一个圆形形状置于RelativeLayout中Textview的中心,
我已经尝试过使用android:gravity
,但是我没有这样做。
这是我正在使用的实际布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/swipeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<ImageView
android:id="@+id/rvSincronizado"
android:layout_width="10dp"
android:layout_height="10dp"
android:gravity="center_vertical"
android:layout_marginLeft="5dp"
android:background="@drawable/circle" />
<TextView
android:id="@+id/rvDescripcion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/rvSincronizado"
android:text=""
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
android:textColor="#000000" />
<TextView
android:id="@+id/rvetMarca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvDescripcion"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="@string/rvetMarca"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
/>
<TextView
android:id="@+id/rvMarca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvDescripcion"
android:layout_toRightOf="@+id/rvetMarca"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
/>
<TextView
android:id="@+id/rvetModelo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvDescripcion"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="@string/rvetModelo"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
android:layout_toRightOf="@id/rvMarca"/>
<TextView
android:id="@+id/rvModelo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvDescripcion"
android:layout_toRightOf="@+id/rvetModelo"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" />
<TextView
android:id="@+id/rvetSerie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvetMarca"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="@string/rvetSerie"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
/>
<TextView
android:id="@+id/rvSerie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvetModelo"
android:layout_toRightOf="@+id/rvetSerie"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
/>
</RelativeLayout>
</LinearLayout>
感谢您的帮助!!
答案 0 :(得分:1)
使用RelativeLayout
无法完成您要执行的操作。它只允许您为垂直对齐指定一个规则(例如layout_alignTop
或layout_alignBottom
),并且没有“alignCenterVertically”或类似的。
您可以尝试使用ConstraintLayout
, 允许您为垂直对齐指定多个约束。您必须将所有android:layout_below
属性转换为app:layout_constraintTop_toBottomOf
,并且必须将所有android:layout_toRightOf
个attrs转换为app:layout_constraintLeft_toRightOf
,但转换总体上非常简单。完成后,您可以将这两个约束添加到您的圆圈ImageView:
app:layout_constraintTop_toTopOf="@+id/rvDescripcion"
app:layout_constraintBottom_toBottomOf="@+id/rvDescripcion"
以下是整个事情:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/swipeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<ImageView
android:id="@+id/rvSincronizado"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_marginLeft="5dp"
android:gravity="center_vertical"
android:background="@drawable/circle"
app:layout_constraintTop_toTopOf="@+id/rvDescripcion"
app:layout_constraintBottom_toBottomOf="@+id/rvDescripcion"/>
<TextView
android:id="@+id/rvDescripcion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:textColor="#000000"
android:text="PRENSA"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintLeft_toRightOf="@id/rvSincronizado"/>
<TextView
android:id="@+id/rvetMarca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:text="@string/rvetMarca"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintTop_toBottomOf="@id/rvDescripcion"/>
<TextView
android:id="@+id/rvMarca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintTop_toBottomOf="@id/rvDescripcion"
app:layout_constraintLeft_toRightOf="@+id/rvetMarca"/>
<TextView
android:id="@+id/rvetModelo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:text="@string/rvetModelo"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintTop_toBottomOf="@id/rvDescripcion"
app:layout_constraintLeft_toRightOf="@id/rvMarca"/>
<TextView
android:id="@+id/rvModelo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintTop_toBottomOf="@id/rvDescripcion"
app:layout_constraintLeft_toRightOf="@+id/rvetModelo"/>
<TextView
android:id="@+id/rvetSerie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:text="@string/rvetSerie"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintTop_toBottomOf="@id/rvetMarca"/>
<TextView
android:id="@+id/rvSerie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintTop_toBottomOf="@id/rvetModelo"
app:layout_constraintLeft_toRightOf="@+id/rvetSerie"/>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
答案 1 :(得分:0)
你可以把它们放在linearLayout中并用一点边距来调整它:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/swipeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<LinearLayout
android:id="@+id/lnDescripcion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/rvSincronizado"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_marginTop="2dp"
android:layout_toEndOf="@+id/rvDescripcion"
android:layout_toRightOf="@+id/rvDescripcion"
android:background="@android:drawable/presence_away"
android:scaleType="centerInside" />
<TextView
android:id="@+id/rvDescripcion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:text="werwerwerwerwerwerwer"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
android:textColor="#000000" />
</LinearLayout>
<TextView
android:id="@+id/rvetMarca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lnDescripcion"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="sdfsdfsdf"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" />
<TextView
android:id="@+id/rvMarca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lnDescripcion"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/rvetMarca"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" />
<TextView
android:id="@+id/rvetModelo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lnDescripcion"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/rvMarca"
android:text="sdfsdfsdf"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" />
<TextView
android:id="@+id/rvModelo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lnDescripcion"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/rvetModelo"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" />
<TextView
android:id="@+id/rvetSerie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvetMarca"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="sdfsdfsdf"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" />
<TextView
android:id="@+id/rvSerie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rvetModelo"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/rvetSerie"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" />
</RelativeLayout>
</LinearLayout>