Android 在分辨率较低的屏幕上,布局被截断

Android 在分辨率较低的屏幕上,布局被截断,android,Android,在我的android应用程序中,我有一个带有listview的RelativeLayout,底部有4个按钮。选择listview中的任何项目都会使四个隐藏按钮可见。我遵循了来自世界各地的最佳实践。它在WVGA800模拟器和实际设备中工作良好。我正在不同的屏幕大小上测试我的应用程序。看起来QVGA240x320底部的按钮被切掉了。 这是xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@

在我的android应用程序中,我有一个带有listview的RelativeLayout,底部有4个按钮。选择listview中的任何项目都会使四个隐藏按钮可见。我遵循了来自世界各地的最佳实践。它在WVGA800模拟器和实际设备中工作良好。我正在不同的屏幕大小上测试我的应用程序。看起来QVGA240x320底部的按钮被切掉了。 这是xml

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout android:id="@+id/listViewrelativeLayout" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"  >
  <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/info_tv_id" android:textSize="10sp" android:layout_marginLeft="10dip"></TextView> 
  <ListView android:id="@+id/listView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:choiceMode="singleChoice" android:layout_marginTop="25dip" android:layout_below="@id/info_tv_id"> 
  </ListView>   
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="bottom" android:layout_alignParentBottom="true" android:id="@+id/relativekeybuttons" android:layout_below="@+id/listView1" android:visibility="gone">"
               <Button android:id="@+id/setasdefault" android:text="@string/default_btn_text" android:layout_marginTop="10dip" 
                android:layout_height="50sp" android:layout_width="75sp">
               </Button>
               <Button android:id="@+id/changepassphrase" android:layout_marginTop="10dip" android:text="@string/passphrase_btn_text" android:layout_width="75sp" android:layout_height="50sp"
                android:layout_toRightOf="@+id/setasdefault"></Button>
               <Button android:id="@+id/rename" android:text="@string/rename_btn_text" android:layout_marginTop="10dip" android:layout_width="75sp"  android:layout_height="50sp"
                android:layout_toRightOf="@+id/changepassphrase"></Button>   
               <Button android:id="@+id/delete" android:layout_width="75sp" android:layout_marginTop="10dip" android:layout_height="50sp" android:text="@string/delete_btn_text"
               android:layout_toRightOf="@+id/rename"></Button>             
  </RelativeLayout>      
</RelativeLayout>
另外,我希望listview在布局中占据固定的长度。例如:至少70%的屏幕,因此listview的长度不依赖于listview中的项目


提前感谢

将xml中的所有单位更改为dp。然后调整控制装置。否则您必须使用滚动视图作为父视图。

我对您的布局进行了一些修改。这可能有用

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:id="@+id/listViewrelativeLayout"
    android:orientation="vertical">
    <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" 
        android:id="@+id/info_tv_id" android:text="Click Me" android:textSize="18sp" 
        android:layout_marginLeft="10dip" android:gravity="center"/>
    <FrameLayout android:layout_width="fill_parent" android:layout_height="0dip"
        android:layout_weight="1.0">
        <ListView android:id="@+id/listView1" android:layout_width="fill_parent" 
            android:layout_height="fill_parent" android:choiceMode="singleChoice" 
            android:layout_below="@id/info_tv_id"/>
        <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:id="@+id/relativekeybuttons" android:orientation="horizontal" 
            android:layout_gravity="bottom" android:visibility="gone">
            <Button android:layout_width="0dip" android:layout_height="wrap_content" 
                android:layout_weight="1.0" android:text="Default" android:layout_marginLeft="1dip"
                android:textSize="11sp"/>
            <Button android:layout_width="0dip" android:layout_height="wrap_content" 
                android:layout_weight="1.0" android:text="Passphrase"
                android:textSize="11sp"/>
            <Button android:layout_width="0dip" android:layout_height="wrap_content" 
                android:layout_weight="1.0" android:text="Rename"
                android:textSize="11sp"/>
            <Button android:layout_width="0dip" android:layout_height="wrap_content" 
                android:layout_weight="1.0" android:text="Delete" android:layout_marginRight="1dip"
                android:textSize="11sp"/>
        </LinearLayout>  
    </FrameLayout>
</LinearLayout>

尽量不要使用精确的宽度和高度,因为它可能不适用于所有手机。

您确定它们都属于相同的hdpi吗。如果没有,您可以为布局尝试一个新文件夹。