XML元素未正确显示

时间:2012-08-28 15:31:50

标签: android android-layout

在我的应用程序中,我想解析XML文件并将元素添加到视图中,这非常有效。但是更复杂的XML文件存在一些问题,但没有正确显示。例如,当我将此文件作为输入时,TextViews(除了最后一个)不会出现在屏幕上?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/general_bg"
    android:gravity="center_horizontal" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txt_newgame_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:paddingBottom="25dip"
            android:paddingTop="10dip"
            android:text="New Game"
            android:textColor="@color/menu_title"
            android:textSize="24.5sp" />

        <TextView
            android:id="@+id/txt_newgame_profile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:paddingBottom="20dip"
            android:paddingLeft="10dip"
            android:text="Profile: Denis"
            android:textColor="@color/menu_submenu"
            android:textSize="18sp" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="0.5dip"
            android:background="#999" />

        <TextView
            android:id="@+id/txt_newgame_difficulty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:paddingBottom="5dip"
            android:paddingLeft="10dip"
            android:paddingTop="5dip"
            android:textColor="@color/menu_submenu"
            android:textSize="18sp" />

        <SeekBar
            android:id="@+id/seekb_newgame_difficulty"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dip"
            android:max="10"
            android:paddingLeft="20dip"
            android:paddingRight="20dip"
            android:progress="4" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="0.5dip"
            android:background="#999" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="10dip"
            android:layout_marginTop="10dip" >

            <TextView
                android:id="@+id/txt_newgame_showshadow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:paddingLeft="10dip"
                android:text="Show shadow"
                android:textColor="@color/menu_submenu"
                android:textSize="18sp" />

            <CheckBox
                android:id="@+id/checkbox_newgame_shadow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:paddingRight="20dip" />
        </RelativeLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="0.5dip"
            android:background="#999" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="10dip"
            android:layout_marginTop="10dip" >

            <TextView
                android:id="@+id/txt_newgame_cooperative"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:paddingLeft="10dip"
                android:text="Cooperative"
                android:textColor="@color/menu_submenu"
                android:textSize="18sp" />

            <CheckBox
                android:id="@+id/checkbox_newgame_cooperative"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:paddingRight="20dip" />
        </RelativeLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="0.5dip"
            android:background="#999" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="horizontal"
            android:paddingTop="60dip" >

            <Button
                android:id="@+id/btn_newgame_start"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:paddingLeft="50dip"
                android:paddingRight="50dip"
                android:text="Start" />

            <Button
                android:id="@+id/btn_newgame_back"
                android:layout_width="wrap_content"
                android:layout_height="wrap_conte
                android:gravity="center_vertical"
                android:paddingLeft="50dip"
                android:paddingRight="50dip"
                android:text="Back" />
        </LinearLayout>
    </LinearLayout>

    <TextView
        android:id="@+id/txt_start_status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Status: Connected"
        android:textColor="@color/green_ok"
        android:textSize="18sp" />

</RelativeLayout>

所以我的问题是我在解析时需要考虑的问题,为什么没有显示TextView?它们是否落后于其他元素,或者是否存在RelativLayout的线索?

感谢提示! :)

1 个答案:

答案 0 :(得分:0)

对于大于android:layout_height的文字视图(例如0.5dip10dip),您必须设置15dip,以便它们可见。
我更改了您的布局,所有文字视图都可见:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/general_bg"
    android:gravity="center_horizontal" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txt_newgame_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:paddingBottom="25dip"
            android:paddingTop="10dip"
            android:text="New Game"
            android:textColor="@color/menu_title"
            android:textSize="24.5sp" />

        <TextView
            android:id="@+id/txt_newgame_profile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:paddingBottom="20dip"
            android:paddingLeft="10dip"
            android:text="Profile: Denis"
            android:textColor="@color/menu_submenu"
            android:textSize="18sp" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="15dip"
            android:background="#999" />

        <TextView
            android:id="@+id/txt_newgame_difficulty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:paddingBottom="5dip"
            android:paddingLeft="10dip"
            android:paddingTop="5dip"
            android:textColor="@color/menu_submenu"
            android:textSize="18sp" />

        <SeekBar
            android:id="@+id/seekb_newgame_difficulty"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dip"
            android:max="10"
            android:paddingLeft="20dip"
            android:paddingRight="20dip"
            android:progress="4" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="15dip"
            android:background="#999" />

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="10dip"
            android:layout_marginTop="10dip" >

            <TextView
                android:id="@+id/txt_newgame_showshadow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:paddingLeft="10dip"
                android:text="Show shadow"
                android:textColor="@color/menu_submenu"
                android:textSize="18sp" />

            <CheckBox
                android:id="@+id/checkbox_newgame_shadow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:paddingRight="20dip" />
        </RelativeLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="15dip"
            android:background="#999" />

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="10dip"
            android:layout_marginTop="10dip" >

            <TextView
                android:id="@+id/txt_newgame_cooperative"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:paddingLeft="10dip"
                android:text="Cooperative"
                android:textColor="@color/menu_submenu"
                android:textSize="18sp" />

            <CheckBox
                android:id="@+id/checkbox_newgame_cooperative"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:paddingRight="20dip" />
        </RelativeLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="15dip"
            android:background="#999" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="horizontal"
            android:paddingTop="60dip" >

            <Button
                android:id="@+id/btn_newgame_start"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:paddingLeft="50dip"
                android:paddingRight="50dip"
                android:text="Start" />

            <Button
                android:id="@+id/btn_newgame_back"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:paddingLeft="50dip"
                android:paddingRight="50dip"
                android:text="Back" />
        </LinearLayout>
    </LinearLayout>

    <TextView
        android:id="@+id/txt_start_status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Status: Connected"
        android:textColor="@color/green_ok"
        android:textSize="18sp" />

</RelativeLayout>