在布局上我有listview
<com...DynamicListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:layout_weight="0.34"
android:background="#0000"
android:divider="@null"
android:dividerHeight="5dp" />
添加了第4个TextView。 的 text_view.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center"
android:textColor="#000000"
android:textSize="@dimen/list_text_size" />
如何将它们制作成相同的高度,并在不同分辨率的屏幕上攀爬到屏幕上(没有滚动的外观)?
更新
public class StableArrayAdapter extends ArrayAdapter<String> {
public StableArrayAdapter(Context context, int textViewResourceId, List<String> objects) {
super(context, textViewResourceId, objects);
for (int i = 0; i < objects.size(); ++i) {
mIdMap.put(objects.get(i), i);
}
}
...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
...
int myDPValue = 60;
myDPValue = (int) ((int) myDPValue * Resources.getSystem().getDisplayMetrics().density);
(LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, myDPValue);
view.setLayoutParams(params);
return view;
}
}
答案 0 :(得分:1)
如果我正确理解了这个问题,您需要根据各种设备的屏幕尺寸调整高度。为此,您可以利用res/values/dimens.xml
文件以及Android执行资源配置的方式。您可以为每个屏幕密度或大小重新定义相同的dimen
。请参阅以下链接以获取答案:
答案 1 :(得分:1)
如果您不想滚动,则不应使用ListView
。您应该使用具有垂直方向的LinearLayout
,并且如果您希望调整它们以适应屏幕上的可用空间,则对项目使用相同的权重。