LinearLayout中imageView的大小

时间:2016-06-02 10:31:45

标签: android android-layout imageview android-linearlayout

我有一个带有3个ImageView的水平LinearLayout,但ImageView比图像宽得多(图像为方形时为矩形)。我试着设置adjustViewBound =“true”,比imageView变得方形但更大。 此外,我尝试设置scaleType =“firXY”,但随后图像缩放以适合矩形imageView。 这是ma 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>

这是一个结果:

enter image description here

如何将ImageView大小设置为图片大小?

5 个答案:

答案 0 :(得分:1)

尝试将 scaletype 设置为CENTER_INSIDE

答案 1 :(得分:1)

您已将权重指定为1.5,这就产生了问题。 无论如何您可以通过预览布局来调整每个图像的宽度。

  1. 预览布局
  2. 现在双击布局内容。
  3. 现在,您可以调整这些图像视图的高度和宽度。
  4. 使用适当的高度和宽度进行调整。
  5. 这使您可以正确了解如何管理线性布局中的项目。

答案 2 :(得分:0)

我假设您想要使图像水平等距。为每张图片创建LinearLayout,每个图片的权重为1(从ImageView移除权重),并设置每个LinearLayout {{1}到gravity

center

答案 3 :(得分:0)

谢谢大家,我已经解决了。 遵循@Khizar Hayat的建议我删除了wight属性并改为使用换行内容。要通过屏幕边和中心放置我的ImageViews,请使用。

<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>

答案 4 :(得分:-1)

  1. 使用特定尺寸修改ImageView的尺寸(dp)或使用fill_parent
  2. android:scaleType设为fitXY