3

我创建了一个 TableLayout,其中包含一个 listView。我通过在 dp 中设置 listView 的大小来定义它。我的问题是在屏幕较小的手机上上传应用程序时,listView 在屏幕上变大(长)。我不想使用 ScrollView 并在其中有一个 listView。有没有其他方法可以设置列表视图的大小,它是相同的并且不依赖于您使用的移动设备?

listView的图片:http ://tinypic.com/view.php?pic=2qwhoxd&s=6

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/bakgrunden"
android:orientation="vertical"
android:gravity="center|top"
android:stretchColumns="1"
android:weightSum="1.0" >

<TableRow>
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
</TableRow> 

<TableRow
android:paddingLeft="22dp"
android:paddingRight="25dp"
android:paddingTop="15dp" >

<ListView
    android:id="@+id/latest_list"
    style="@style/CustomListView"
    android:layout_width="wrap_content"
    android:layout_height="390dp" <------- THE PROBLEM! The list gets to long for a
    android:gravity="left"/>               small-screen mobile.
</TableRow> 

</TableLayout>
4

1 回答 1

0

只需为较小的屏幕创建不同的布局,并允许操作系统确定要加载的布局。Android 开发者网站有一个很好的建议:支持不同的屏幕尺寸

您可以尝试layout_weight通过确定每个屏幕的大小(以像素为单位获取屏幕尺寸)然后计算适当的高度来调整属性或在运行时调整高度......但老实说,几种不同的布局是最简单、面向未来的方法。

于 2012-06-17T19:08:59.903 回答