Android 线性布局中图像视图的大小

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

我有一个带有3个ImageView的水平线性布局,但ImageView比图像宽得多(图像为正方形时为矩形)。我尝试设置adjustViewBound=“true”,使imageView变成正方形,但更大。 此外,我还尝试设置scaleType=“firXY”,但是图像正在缩放以适合矩形imageView。 以下是xml:

  <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