嗨,我是Android开发新手。 我想设计一个包含ImageView和TextView的垂直ScrollView。 ImageView占据屏幕高度的50%,而底部是具有动态内容的TextView,可占据屏幕高度的50%或更高。因此,只有当文本内容占据屏幕的50%以上时,ScrollView才可滚动(请参阅下面的示例)
有没有办法实现这种布局?
答案 0 :(得分:3)
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/scroll_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/scroll_text"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
这是布局。在您的活动中,您应将ImageView
的高度设置为屏幕高度的50%,如下所示:
ImageView scrollImage = (ImageView) findViewById(R.id.scroll_image);
TextView scrollText = (TextView) findViewById(R.id.scroll_text);
int height = getResources().getDisplayMetrics().heightPixels;
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) scrollImage.getLayoutParams();
params.height = height / 2;
scrollImage.setLayoutParams(params);
希望这会有所帮助。
答案 1 :(得分:0)
尝试以下代码
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="100"
android:orientation="vertical">
<ImageView
android:id="@+id/scroll_image"
android:layout_width="match_parent"
android:layout_height="0dp"
android:scaleType="centerCrop"
android:layout_weight="50" />
<TextView
android:id="@+id/scroll_text"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="50" />
</LinearLayout>
</ScrollView>