ScrollView中的最小高度fill_parent和高度wrap_content? (或只是电子邮件应用程序组成布局的代码)

问题如果我有以下情况:

<ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="?" android:orientation="vertical"> <EditText android:layout_width="fill_parent" android:layout_height="?" android:hint="Subject" android:id="@+id/subject" /> <EditText android:layout_width="fill_parent" android:layout_height="?" android:id="@+id/body" /> </LinearLayout> </ScrollView> 

我怎样才能得到身体(第二EditText)来填补屏幕的其余部分,但仍然有身体的内容太长时滚动视图踢? 像height="wrap_content"minHeight="fill_parent"

layout_height="fill_parent"似乎不会做任何事情,如果你把它们放在滚动视图

我想要的一个工作示例是电子邮件应用程序撰写窗口

我试过这个 ,EditText元素就像是wrap_content一样,没有填充。 只要你input足够的滚动

 <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <EditText android:layout_width="fill_parent" android:layout_height="fill_parent" layout_weight="1" android:hint="Subject" android:id="@+id/subject" /> <EditText android:layout_width="fill_parent" android:layout_height="fill_parent" layout_weight="1" android:id="@+id/body" /> </LinearLayout> </ScrollView> 

Solutions Collecting From Web of "ScrollView中的最小高度fill_parent和高度wrap_content? (或只是电子邮件应用程序组成布局的代码)"

我在另一个问题的接受答案中跑过了邮件应用程序源代码的链接。 答案很简单! 将android:fillViewport="true"添加到<ScrollView...>然后将android:layout_weight="1.0"添加到要占用所有可用空间的视图中。 在这个blogspot解释

如上所述,正确的方法是使用android:fillViewport =“true”属性。

有一个例子,图像将被放置在scrollview和的位置:

  <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:fillViewport="true" android:orientation="vertical"> <LinearLayout android:layout_height="fill_parent" android:layout_width="wrap_content" android:orientation="vertical" android:layout_weight="1"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="test"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@color/red"> <ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:adjustViewBounds="true" android:src="@drawable/about_us_image_1_land" style="@style/layout_marginTop20"/> </LinearLayout> </LinearLayout> </ScrollView> 

为什么不让ScrollView变成fill_parent,A和B都变成wrap_content? 你唯一想要的就是你的ScrollView适合屏幕。

打完电话后
AlertDialog dialog = builder.show();

然后打电话
fixScrollViewHeight(滚动视图);

private void fixScrollViewHeight(ScrollView scrollView){
int screenHeight = activity.getWindowManager()。getDefaultDisplay()。getHeight();
LayoutParams lp = scrollView.getLayoutParams();
lp.height = screenHeight / 3;
scrollView.setLayoutParams(LP);
}