我的显示屏顶部有一个ImageView,如下所示:
╔══════════════════════════════════════════════╗
║ ImageView ╔══════════════╗ ║
║ ║ ║ ║
║ ║ Actual image ║ ║
║ ║ ║ ║
║ ║ ║ ║
║ ║ ║ ║
║ ╚══════════════╝ ║
╚══════════════════════════════════════════════╝
在此之下,我有一系列按钮和TextViews ..
我希望ImageView的高度根据屏幕的最大高度动态增加。我正在调整包含屏幕边缘底部按钮的布局,我希望屏幕的其余部分由上面的ImageView占用。
此外,由于ImageView包含居中的图像,我还想设置最小高度,如果屏幕太小则无法显示图像视图和下面的按钮。
谢谢!
这可能吗?
答案 0 :(得分:5)
如果您使用android:layout_width
,第一部分应该非常简单。如果仅为ImageView(或其容器)设置layout_width,它将展开以占用尽可能多的父布局。例如,如果您想要一个ImageView占据整个屏幕的布局,您可以这样做:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:src="@drawable/icon"
android:scaleType="fitCenter" android:layout_weight="1" />
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- Put whatever you want in here -->
</LinearLayout>
</LinearLayout>
在这个例子中,我正在拉伸图像以占据整个屏幕,但是你也提出了“如果图像对于屏幕太大而我需要滚动怎么办?”的问题。在这种情况下,您需要做的就是将ScrollView添加到布局中。如果图像垂直太高,屏幕将自动滚动:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:fillViewport="true">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:src="@drawable/huge"
android:scaleType="fitCenter" android:layout_weight="1" />
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- Insert your content here -->
</LinearLayout>
</LinearLayout>
</ScrollView>
需要注意的一件重要事项是:如果您在ScrollView上没有将android:fillViewport
设置为true,则太小的ImageView将无法填满整个屏幕。
答案 1 :(得分:0)
完全不是您正在寻找的答案,但绝对可以通过您的课程中的relativelayout scrollview和动态编码的混合。目前还没有接近编程计算机,但模糊的答案是“可能吗?是的!” :)