android - xml。难以按照我喜欢的方式排列元素

时间:2012-03-28 11:02:26

标签: android xml android-layout

我想把这些短语集中在我看来。我可以将“@ + id / m_popcorn”添加到屏幕的中心,但是,我无法获得“@ + id / m_keyhole”以及其他文本视图在其下方排列。我也希望所有五个短语都集中在屏幕上,而不是仅以“@ + id / m_popcorn”为中心。我做错了什么?

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="center" >

<ImageView
    android:id="@+id/viola_desmond_pic"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:contentDescription="@string/desc"
    android:src="@drawable/viola_desmond" />

<TextView
    android:id="@+id/list_background"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="#AA000000"
    android:contentDescription="@string/desc" >

</TextView>

<TextView
    android:id="@+id/m_popcorn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="spilled popcorn" />

<TextView
    android:id="@+id/m_keyhole"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/m_popcorn"
    android:layout_centerHorizontal="true"
    android:text="keyhole" />

<TextView
    android:id="@+id/m_pistol"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/m_keyhole"
    android:layout_centerHorizontal="true"
    android:text="pistol" />

<TextView
    android:id="@+id/m_cat"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/m_pistol"
    android:layout_centerHorizontal="true"
    android:text="cat" />

<TextView
    android:id="@+id/m_pen"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/m_cat"
    android:layout_centerHorizontal="true"
    android:text="pen" />
</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

这是布局文件......

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
    android:id="@+id/viola_desmond_pic"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:contentDescription="testing"
    android:src="@drawable/icon" />

<LinearLayout
    android:id="@+id/ll_content"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/list_background"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#AA000000"
        android:contentDescription="text description"
        android:gravity="center_horizontal" >
    </TextView>

    <TextView
        android:id="@+id/m_popcorn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="spilled popcorn" />

    <TextView
        android:id="@+id/m_keyhole"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="keyhole" />

    <TextView
        android:id="@+id/m_pistol"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="pistol" />

    <TextView
        android:id="@+id/m_cat"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="cat" />

    <TextView
        android:id="@+id/m_pen"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="pen" />
  </LinearLayout>

</RelativeLayout>

答案 1 :(得分:0)

你可以使用这段代码在你的布局中心有一个textView列表,我使用填充父布局的线性布局,并将它的重力设置为居中,这个布局的任何子节点都在它的中心:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:scaleType="center">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:orientation="vertical"
        android:gravity="center"
        android:id="@+id/linearLayout1">
        <TextView
            android:contentDescription="desk"
            android:text="TextView"
            android:id="@+id/list_background"
            android:layout_height="wrap_content"
            android:background="#AA000000"
            android:layout_width="wrap_content"></TextView>
        <TextView
            android:id="@+id/m_popcorn"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="spilled popcorn"></TextView>
        <TextView
            android:id="@+id/m_keyhole"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="keyhole"></TextView>
        <TextView
            android:id="@+id/m_pistol"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="pistol"></TextView>
        <TextView
            android:id="@+id/m_cat"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="cat"></TextView>
        <TextView
            android:id="@+id/m_pen"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="pen"></TextView>
    </LinearLayout>
    <ImageView
        android:contentDescription="desk"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/viola_desmond_pic"
        android:src="@drawable/icon"
        android:layout_alignParentRight="true"></ImageView>
</RelativeLayout>