如何在Linearlayout中将图像按钮与等宽度对齐

时间:2016-09-26 15:15:40

标签: android html android-layout android-button

我有一个接一个4个图像按钮的linearlayout。在具有水平方向的线性布局中并且提供相等的宽度。这里的按钮正确对齐,但这些按钮中的图像没有正确对齐。

以下是代码,我试过,这就是它的外观。如何使图像与正确的形状正确对齐?

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:orientation="horizontal"
    android:background="#fff"
    android:paddingLeft="10dp"
    android:paddingRight="10dp">
    <ImageButton
        android:id="@+id/add_fav_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:minWidth="0dp"
        android:minHeight="0dp"
        android:scaleType="fitXY"
        android:layout_gravity="center"
        android:src="@drawable/ic_whatsapp"
        />

    <ImageButton
        android:id="@+id/id_share_fb_btn"
        android:src="@drawable/ic_whatsapp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:minWidth="0dp"
        android:minHeight="0dp"
        android:layout_gravity="center"
        android:scaleType="fitXY"/>
    <ImageButton
        android:id="@+id/id_share_all_btn"
        android:src="@drawable/ic_share"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:minWidth="0dp"
        android:minHeight="0dp"
        android:layout_gravity="center"
        android:scaleType="fitXY"/>
    <ImageButton
        android:id="@+id/id_whatsapp_btn"
        android:src="@drawable/ic_whatsapp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:minWidth="0dp"
        android:minHeight="0dp"
        android:layout_gravity="center"
        android:scaleType="fitXY"/>
</LinearLayout>

enter image description here

更改android:layout_height="50dp" to android:layout_height="wrap_content"

后更新的图片

enter image description here

2 个答案:

答案 0 :(得分:0)

您的图片看起来像方形。你正在使它们伸展以填充整个宽度,但你正在以50dp的高度制作它们。

将高度从50dp更改为

android:layout_height="wrap_content"

并且它们将根据宽度保持正确的高度。如果你想让它们都高达50dp,你有两个选择:

  1. 将宽度设置为50dp并将其居中放置在父
  2. 创建"square button"
  3. 我不知道我是否明白这一点,如果不在下面发表评论

答案 1 :(得分:0)

将所有每个图像按钮放在相对布局中,并将relativelayout的layout_weight设置为1,layout_width = match_parent

我认为这可能有用......或尝试使用imageview而不是imagebutton

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:background="#fff"
android:paddingLeft="10dp"
android:paddingRight="10dp">
<RelativeLayout
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<ImageButton
    android:id="@+id/add_fav_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minWidth="0dp"
    android:minHeight="0dp"
    android:scaleType="fitXY"
    android:layout_gravity="center"
    android:src="@drawable/ic_whatsapp"
    />
  </RelativeLayout>
  <RelativeLayout
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<ImageButton
    android:id="@+id/id_share_fb_btn"
    android:src="@drawable/ic_whatsapp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minWidth="0dp"
    android:minHeight="0dp"
    android:layout_gravity="center"
    android:scaleType="fitXY"/>
</RelativeLayout>
<RelativeLayout
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<ImageButton
    android:id="@+id/id_share_all_btn"
    android:src="@drawable/ic_share"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minWidth="0dp"
    android:minHeight="0dp"
    android:layout_gravity="center"
    android:scaleType="fitXY"/>
</RelativeLayout>
<RelativeLayout
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<ImageButton
    android:id="@+id/id_whatsapp_btn"
    android:src="@drawable/ic_whatsapp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minWidth="0dp"
    android:minHeight="0dp"
    android:layout_gravity="center"
    android:scaleType="fitXY"/>