我正在尝试在Android应用程序中用XML设置非常简单的东西。
我想把片段放在每个活动的顶部,并试图将屏幕分成2/8重量(总和10)。但不幸的是,这种情况正在从活动变为活动。不知道为什么。有帮助吗? :)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="top" >
<fragment
android:id="@+id/fragment_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_gravity="top"
class="com.app.TopFragment" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="8"
android:id="@+id/chart_scrollview" >
Here goes LinearLayout with other linearlayouts inside.
</ScrollView>
</LinearLayout>
有什么想法吗?
编辑: Fragment类声明是:
class TopFragment extends Fragment implements View.OnClickListener{}
EDIT2: 感谢你们。有趣的是,我已经尝试过这个0dip的东西而且它没有用。现在它正在工作,但对于任何其他人在这里打击类似问题的提示:不要使用
android:layout_width="fill_parent"
我的示例代码中的这些内容中的任何内容。始终使用
android:layout_width="match_parent"
这就是为什么0dip解决方案无法正常工作的原因。非常感谢你。
答案 0 :(得分:2)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="top" >
<fragment
android:id="@+id/fragment_top"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="2"
android:layout_gravity="top"
class="com.app.TopFragment" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="8"
android:id="@+id/chart_scrollview" >
<!-- Here goes LinearLayout with other linearlayouts inside-->
</ScrollView>
</LinearLayout>
答案 1 :(得分:1)
如果要按权重控制视图的高度,请尝试将片段和ScrollView的高度从wrap_content
更改为match_parent
或0dip
。
答案 2 :(得分:0)
然后你应该在你的xml中写下这样的东西
<com.app.TopFragment
android:id="@+id/fragment_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_gravity="top"
class="com.app.TopFragment" />