我想要这样的布局:
到目前为止,我已经有了这个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/game1_background"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:id="@+id/flag1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:id="@+id/team1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:id="@+id/team2"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:id="@+id/flag2"
/>
</RelativeLayout>
但这不起作用。有人可以说为什么? 感谢
答案 0 :(得分:2)
我尽量让它尽可能接近你拥有的东西。我明白了:
这是你需要做的事情
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:background="@drawable/ic_launcher"
/>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/image1"
android:text="Text1"
/>
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Text2"
/>
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/image2"
android:text="Text3"
/>
<ImageView
android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:background="@drawable/ic_launcher"
/>
</RelativeLayout>
使用android:margin
或android:padding
根据需要调整文本框位置。
答案 1 :(得分:1)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/game1_background">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/flag1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/team1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/team2"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/flag2"/>
</LinearLayout>
注意参数:android:gravity =“center_vertical”,它会垂直传递所有孩子。
答案 2 :(得分:1)
使用RelativeLayout
,你必须做这样的事情......
<ImageView
android:id="@+id/flag1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_margin="10dp"
android:background="@drawable/ic_launcher" />
<TextView
android:id="@+id/team1"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="60dp"
android:layout_margin="10dp"
android:layout_toRightOf="@id/flag1"
android:text="hello" />
<TextView
android:id="@+id/team3"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="60dp"
android:layout_margin="10dp"
android:layout_toRightOf="@id/team1"
android:text="gth" />
<TextView
android:id="@+id/team2"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="60dp"
android:layout_margin="10dp"
android:layout_toRightOf="@id/team3"
android:text="gth" />
<ImageView
android:id="@+id/flag2"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_margin="10dp"
android:layout_toRightOf="@id/team2"
android:background="@drawable/ic_launcher"
android:text="gth" />
请根据您的规格调整尺寸。
RelativeLayout有一组不同的属性可用于在屏幕内定位视图,它易于学习且灵活,请参阅Android documentataion of RelativeLayout了解更多信息。