Android 线性布局中图像视图的大小
我有一个带有3个ImageView的水平线性布局,但ImageView比图像宽得多(图像为正方形时为矩形)。我尝试设置adjustViewBound=“true”,使imageView变成正方形,但更大。 此外,我还尝试设置scaleType=“firXY”,但是图像正在缩放以适合矩形imageView。 以下是xml:Android 线性布局中图像视图的大小,android,android-layout,imageview,android-linearlayout,Android,Android Layout,Imageview,Android Linearlayout,我有一个带有3个ImageView的水平线性布局,但ImageView比图像宽得多(图像为正方形时为矩形)。我尝试设置adjustViewBound=“true”,使imageView变成正方形,但更大。 此外,我还尝试设置scaleType=“firXY”,但是图像正在缩放以适合矩形imageView。 以下是xml: <LinearLayout android:layout_width="match_parent" android:layout_he
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llButtons">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_start_text"
android:id="@+id/imgStart"
android:layout_weight="1.5"
android:src="@drawable/ic_play"/>
<ImageView
android:id="@+id/imgReset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="@string/button_reset_text"
android:src="@drawable/ic_cls"/>
<ImageView
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="@string/button_next_text"
android:src="@drawable/ic_next"/>
</LinearLayout>
这是一个结果:
如何将ImageView大小设置为图片大小
dp
中)固定ImageView的大小,或使用fill\u parent
android:scaleType
设置为fitXY
尝试将scaletype设置为
CENTER\u INSIDE
您已将权重指定为1.5,这会导致问题。
无论如何,您可以通过预览布局来调整每个图像的宽度
这为您提供了如何在线性布局中管理项目的正确想法。我假设您希望保持图像在水平方向上等距。为每个图像创建一个
LinearLayout
,为每个图像赋予一个1
(从ImageView
s中移除权重),并将每个LinearLayout
的重力设置为center
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llButtons"
android:weightSum="3">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_start_text"
android:id="@+id/imgStart"
android:src="@drawable/ic_play"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<ImageView
android:id="@+id/imgReset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_reset_text"
android:src="@drawable/ic_cls"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<ImageView
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_next_text"
android:src="@drawable/ic_next"/>
</LinearLayout>
</LinearLayout>
谢谢大家,我已经解决了。
按照建议,我已经删除了wight属性并使用wrap内容。要按屏幕的侧面和中心放置图像视图,请使用
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llButtons">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_start_text"
android:id="@+id/imgStart"
android:src="@drawable/ic_play"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<ImageView
android:id="@+id/imgReset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_reset_text"
android:src="@drawable/ic_cls"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<ImageView
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_next_text"
android:src="@drawable/ic_next"/>
</LinearLayout>
这是因为您将权重指定为wight 1.5,这将更改图像视图边界。如果您希望图像视图大小为pic大小,请删除`android:layout\u weight=“1.5”`并使用`android:layout\u marginRight=“numberdp”`在图像视图之间留出空间,请使用wrapcontent而不是weight