在LinearLayout中,我试图使用数字图像显示整数。我想要将数字居中,并根据存在的位数来缩放图像。
我的初始布局有两位数:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<view
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:gravity="center"
>
<ImageView
app:srcCompat="@drawable/ic_digit_0"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:layout_weight="1"
/>
<ImageView
app:srcCompat="@drawable/ic_digit_0"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:layout_weight="1"
/>
</LinearLayout>
这就是它的样子。
A)4位数字,一切看起来都很好,数字水平放置,垂直尽可能高。
B)如果有更多数字,它仍可以很好地扩展到可用空间。
C)但是当 LinearLayout 高度降低时,4位数字会分开,并且它们之间会出现间隙。
D)从每个 ImageView 中删除 layout_weight ,这4位数字会一起返回。
E)但是当 LinearLayout 高度增加时,数字会缩放到视图的整个高度,而某些数字会在屏幕上水平消失。
如何调整这些数字图像以填充可用空间,显示所有数字并无间隙居中,同时保留其比例比例,无论 LinearLayout 尺寸如何?
感谢。
答案 0 :(得分:0)
您是否尝试过添加scaletype?
<ImageView android:scaleType="scaleXY" android:src="@drawable/my_image"/>
https://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType
答案 1 :(得分:0)
确定。我找到了答案。
对于第二个 LinearLayout ,更改 android:layout_width = 来自&#34; match_parent &#34;到&#34; wrap_content &#34;。然后添加 android:layout_gravity =&#34; center&#34; 。当较小的高度强制数字缩小时,这允许 LinearLayout 缩小到其内容。但是,当它缩小时,它也会在包含视图中居中。
感谢大家的投入。