Android布局并未显示所有内容

时间:2013-10-24 01:52:12

标签: android xml layout

当主TextView(Test123)有2行时,底部的RadioButtons不会完全显示。虽然留下了大量的屏幕空间。我猜它与RadioGroup高度有关,但那就是我在这里的原因:)

<?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="match_parent"
    android:gravity="center"
    android:background="@drawable/bkg"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tOut"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="80px"
        android:textSize="30px"
        android:textColor="#FFFFFF"
        android:text="Test123" 
        />

    <ImageButton
        android:layout_below="@id/tOut"
        android:id="@+id/ranButton"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:src="@drawable/randomize"
        android:onClick="ranButton"
        />

    <TextView
        android:layout_below="@id/ranButton"
        android:id="@+id/between"
        android:layout_alignParentLeft="true"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:textSize="15dp"
        android:textColor="#FFFFFF"
        android:text="Between 0 and:"
        />

    <EditText
        android:layout_below="@id/between"
        android:id="@+id/etMax"
        android:layout_height="40dp"
        android:layout_width="fill_parent"
        android:digits="1234567890"
        android:inputType="numberDecimal"
        />

    <Button
        android:layout_below="@id/etMax"
        android:id="@+id/copyButton"
        android:layout_gravity="bottom"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:textSize="15dp"
        android:text="Copy Number"
        android:onClick="copyButton"
        />

    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_below="@id/copyButton"
        android:layout_height="100px"
        android:layout_width="fill_parent"
        android:orientation="horizontal">

        <RadioButton
            android:id="@+id/intRb"
            android:layout_below="@id/copyButton"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="Whole Number"
            android:checked="true"
            />

        <RadioButton
            android:id="@+id/decRb"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="Decimal"
            />

    </RadioGroup>

    </RelativeLayout>

3 个答案:

答案 0 :(得分:0)

您的布局存在一些问题:

  1. 尝试将广播组高度设置为wrap_content
  2. 永远不要使用px来定义视图的高度......你应该总是使用dp,因为这将在多个设备中发挥最佳作用
  3. RelativeLayout没有orientation属性。你应该删除它。
  4. 希望这会有所帮助:)

答案 1 :(得分:0)

  

您只需检查下面的xml文件,我编辑了xml:

<?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:layout_margin="10dp"
    android:gravity="center"
     >

    <TextView
        android:id="@+id/tOut"
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:layout_alignParentRight="true"
        android:text="Test123"
        android:textColor="#FFFFFF"
        android:textSize="30dp" />

    <ImageButton
        android:id="@+id/ranButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/tOut"
        android:onClick="ranButton" />

    <TextView
        android:id="@+id/between"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/ranButton"
        android:text="Between 0 and:"
        android:textColor="#FFFFFF"
        android:textSize="15dp" />

    <EditText
        android:id="@+id/etMax"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_below="@id/between"
        android:digits="1234567890"
        android:inputType="numberDecimal" />

    <Button
        android:id="@+id/copyButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/etMax"
        android:layout_gravity="bottom"
        android:onClick="copyButton"
        android:text="Copy Number"
        android:textSize="15dp" />

    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/copyButton"
        android:layout_marginBottom="5dp"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/intRb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/copyButton"
            android:checked="true"
            android:text="Whole Number" />

        <RadioButton
            android:id="@+id/decRb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Decimal" />
    </RadioGroup>

</RelativeLayout>

答案 2 :(得分:0)

radioGroup的高度应为: 机器人:layout_height = “WRAP_CONTENT”

intRb不需要

android:layout_below="@id/copyButton"

如果您使用相对布局,则高度应为

android:layout_height="wrap_content"

并删除

android:orientation="vertical"

如果您希望无线电组位于底部,则可以使用 机器人:layout_alignParentBottom = “真” 并使用layout_XXXX =“@ id / something”,其中XXXX位于下方,上方,右侧等...

否则,最好使用LinearLayout