我正在创建一个如下所示的布局,但复选框元素在scren上看不到我错误的地方?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SeekBar android:id="@+id/seek"
android:layout_width="300dip"
android:layout_height="wrap_content"
android:progress="50"/>
...and a few more elements here.
</LinearLayout>
<CheckBox android:id="@+id/CheckBox"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="somestring" />
</LinearLayout>
答案 0 :(得分:1)
LinearLayout
之前CheckBox
的高度设置为MATCH_PARENT
(并填充所有父级的高度),两者的父LinearLayout
的方向设置为垂直,因此CheckBox
被推出屏幕。
例如,将包含LinearLayout
的{{1}}的高度设置为SeekBar
。
答案 1 :(得分:0)
更改你的LinerLayout定义它不能是android:layout_height =&#34; match_parent&#34;
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1">
如果为linearlayout设置match_parent,它会消耗所有内容,因此wrap_content更好。 但是如果按照我写的那样设置复选框,则复选框将位于底部,一个linearlayout将消耗屏幕的剩余部分。
答案 2 :(得分:0)
您需要设置内部线性布局的高度和宽度以包装内容。 试试这个。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<SeekBar
android:id="@+id/seek"
android:layout_width="300dip"
android:layout_height="wrap_content"
android:progress="50" />
</LinearLayout>
<CheckBox
android:id="@+id/CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="somestring" />
</LinearLayout>
答案 3 :(得分:0)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="10" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="9"
android:orientation="horizontal" >
<SeekBar
android:id="@+id/seek"
android:layout_width="300dip"
android:layout_height="wrap_content"
android:progress="50" />
</LinearLayout>
<CheckBox
android:id="@+id/CheckBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="somestring" />
</LinearLayout>
答案 4 :(得分:0)
在你的布局中选择一个你想要灵活的元素,比如高度。然后制作height="0dp"
和weight="1"
。其余元素的高度:height="wrap_content"
。
另外,你可能已经给你的其他元素提供了一些dp的谨慎大小,因此它们的总高度超出了可用的屏幕空间,或者有太多的元素超出了你的屏幕高度。在这种情况下,请将您的布局包装在ScrollView
。