我希望屏幕的上半部分是一个图表,而下半部分是一个列表视图。两个部分都应该占据屏幕的一半。
通过我现在的设置,它仅在列表视图中有 10 个或更多项目时才有效。如果数量较少,则列表视图将占用不到一半的屏幕。如果列表中有一项,则它占用的高度甚至少于一个列表项的高度。
基于ANDROID 的解决方案:用 2 个列表视图将屏幕分成 2 个相等的部分,这就是我现在得到的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.5"
android:id="@+id/graph_container"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.5"
android:orientation="vertical">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"/>
</LinearLayout>
</LinearLayout>
我动态添加图表:
((LinearLayout) findViewById(R.id.graph_container))
.addView(chart, 0,
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
有谁知道我应该怎么做?
更新
因此,最重要的部分是将 layout_height 更改为 math_parent。删除列表视图的父线性布局是可选的,但绝对更干净。