我使用了相对布局和一些视图 . 我需要水平对齐视图,但视图在所有屏幕尺寸设备中都不显示相同的内容?
<RelativeLayout
android:id="@+id/layout_relative"
android:layout_width="fill_parent"
android:layout_height="90dp"
android:layout_marginTop="-5dp"
android:background="#007DD7">
<TextView
android:id="@+id/text1_login"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginLeft="45dp"
android:layout_marginTop="10dp"
android:background="@drawable/circle"
android:backgroundTint="@color/white"
android:gravity="center"
android:shadowRadius="10.0"
android:text="1"
android:textColor="@android:color/holo_blue_dark"
android:textSize="18sp" />
<TextView
android:id="@+id/text2_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/text1_login"
android:layout_marginTop="5dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="45dp"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:text="Login"
android:textColor="@color/white"
android:textSize="20sp" />
<View
android:id="@+id/1_line"
android:layout_centerHorizontal="@+id/text1_login"
android:layout_width="70dp"
android:layout_height="2dp"
android:layout_marginLeft="90dp"
android:layout_marginTop="30dp"
android:background="@android:color/white"
android:backgroundTint="@color/add_contact_selected"/>
<TextView
android:id="@+id/text1_delivery"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginLeft="170dp"
android:layout_marginTop="10dp"
android:background="@drawable/circle"
android:shadowRadius="10.0"
android:text="2"
android:gravity="center"
android:textColor="@android:color/holo_blue_dark"
android:textSize="18sp"
android:backgroundTint="@color/add_contact_selected"/>
<TextView
android:id="@+id/text2_delivery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/text1_delivery"
android:layout_marginTop="5dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="25dp"
android:gravity="center_horizontal"
android:maxLines="2"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:text="Delivery"
android:textColor="@color/add_contact_selected"
android:textSize="20sp" />
<View
android:id="@+id/2_line"
android:layout_centerHorizontal="@+id/text1_delivery"
android:layout_width="80dp"
android:layout_height="2dp"
android:layout_marginLeft="215dp"
android:layout_marginTop="30dp"
android:background="@android:color/white"
android:backgroundTint="@color/add_contact_selected"/>
<TextView
android:id="@+id/text1_payment"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginLeft="300dp"
android:layout_marginTop="10dp"
android:background="@drawable/circle"
android:gravity="center"
android:shadowRadius="10.0"
android:text="3"
android:textColor="@android:color/holo_blue_dark"
android:textSize="18sp"
android:backgroundTint="@color/add_contact_selected"/>
<TextView
android:id="@+id/text2_payment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/text1_payment"
android:gravity="center_horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="260dp"
android:maxLines="2"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:text="Payment"
android:textColor="@color/add_contact_selected"
android:textSize="20sp"
/>
</RelativeLayout>
3 回答
您需要将
LinearLayout
与android:orientation="horizontal"
一起使用并使用android:layout_weight
来对齐您的视图 .我编辑了你的代码:
Update: 在圆圈之间添加水平线:
要水平对齐视图,应使用水平方向的线性布局,并为每个子视图指定权重 .
查看我使用您的布局编写的示例 -
我看到了所有建议使用
LinearLayout
的人的答案 . 你必须非常清楚地知道一件事 . 通过使用相对或线性,我们可以实现所有的布局设计 .首先,你必须分析哪个设计会很好 . 实现可能取决于三件事 .
我的建议也仅适用于您的实现,但有时多个内部线性布局会导致性能问题,您也应该意识到这一点 .
我们如何开发代码并不重要,我们如何优化代码非常重要 .