2016-09-26 74 views
0

我有一个接一个的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

+0

你是什么意思“没有得到正确对齐”是什么意思?你是指拉伸? –

回答

0

你的影像后,看起来像平方。你正在让他们伸展的方式来填补整个宽度,但你正在使他们所有的高度为50dp

变化从50dp的高度

android:layout_height="wrap_content" 

,他们将保持正确的高度基于宽度。如果你希望它们都符合的50dp高度,你有两个选择:

  1. 将宽度设置为50dp,并在家长中心他们
  2. 创建"square button"

我不知道,如果我拿到了一点,如果不低于

+0

嗨,thnks的答复,我这样做,我已经上传了新的形象。静止图像看起来像拉伸,即水平拉伸比垂直。 – Naruto

+0

@Naruto我仍然看到一个老问题:(你有没有创建方形按钮类? –

+0

@Naruto什么都没有,现在我看到了正确的一个,你想让它们完全平方? –

0

评论把所有每幅图像按钮相对布局的RelativeLayout的layout_weight 1和layout_width = match_parent

我想这可能工作......或尝试使用替代的ImageButton imageview的

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

+0

为什么我们需要包含如此多的相关布局?我认为它不正确的方式 – Naruto

+0

你试过这个解决方案吗? –