我有LinearLayout水平方向。高度为32 dp。我尝试在中心位置插入textview的文本,
这是我的来源
<LinearLayout
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginLeft="16dp"
android:orientation="horizontal"
>
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
card_view:srcCompat="@mipmap/departure_icon"
android:id="@+id/departure_img"
android:layout_alignTop="@+id/departure_day_large"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/departure_day_large"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:text="28"
android:layout_marginLeft="5dp"
android:textColor="#4d4d4d"
android:gravity="center"
android:textSize="32dp"
android:layout_centerHorizontal="true" />
</LinearLayout>
正如你所看到我无法在中心位置插入28,imageview和textview的高度都是32 dp,我想插入我的textview center.How我可以与ImageView水平对齐吗?
答案 0 :(得分:0)
您已指定android:textSize="32dp"
- 这就是问题所在。
设定TextView
和LinearLayout
的身高wrap_content
。
此外,您最好使用sp
指定文字大小 - 与比例相关的像素。如果你希望你的TextView
特别是那么多,那么你必须提高LinearLayout
的身高wrap_content
,因为你现在不能提高TextView
的高度。取决于设备的屏幕尺寸。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="32dp"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/departure_icon"
android:id="@+id/departure_img"
android:layout_alignTop="@+id/departure_day_large"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<TextView
android:id="@+id/departure_day_large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="28"
android:layout_marginLeft="5dp"
android:textColor="#4d4d4d"
android:textSize="32sp"
android:layout_centerHorizontal="true"/>
</LinearLayout>
答案 1 :(得分:0)
更改TextView layout_width = match_parent
<LinearLayout
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginLeft="16dp"
android:orientation="horizontal"
>
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
card_view:srcCompat="@mipmap/departure_icon"
android:id="@+id/departure_img"
android:layout_alignTop="@+id/departure_day_large"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/departure_day_large"
android:layout_width="match_parent"
android:layout_height="32dp"
android:text="28"
android:layout_marginLeft="5dp"
android:textColor="#4d4d4d"
android:gravity="center"
android:textSize="32dp"
android:layout_centerHorizontal="true" />
</LinearLayout>
答案 2 :(得分:0)
您应该只使用相对布局
更改父布局<RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp">
<ImageView
android:layout_width="32dp"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/departure_icon"
android:id="@+id/departure_img"
android:layout_alignTop="@+id/departure_day_large"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<TextView
android:id="@+id/departure_day_large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="28"
android:layout_marginLeft="5dp"
android:textColor="#4d4d4d"
android:textSize="32sp"
android:layout_centerHorizontal="true"/>
</RelativeLayout>