android ImageButton缩放并保持宽高比

我有一个屏幕,我试图布局

基本上,我试图在屏幕上垂直均匀地分配4个ImageButton对象…我在这里使用这个来平均分配项目,但现在有一个可怕的时间让图像缩放,但保持高宽比…如果我使用scaleType="centerInside"他们没有规模,如果我使用“fitXY”他们不保持长宽比…这是什么布局看起来像:

在这里输入图像说明

这里是代码:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="0dp" android:padding="0dp" android:orientation="vertical" android:weightSum="5" > <ImageButton android:id="@+id/share_song" android:layout_width="fill_parent" android:text="" android:layout_marginLeft="0dp" android:layout_marginTop="15dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:src="@drawable/share_song_button_sel" android:adjustViewBounds="true" android:background="#0000" android:scaleType="fitXY" android:layout_height="0dp" android:layout_weight="1" /> <Button android:layout_width="wrap_content" android:text="" android:id="@+id/tag_a_song" android:layout_marginLeft="5dp" android:layout_marginTop="10dp" android:layout_marginRight="0dp" android:layout_marginBottom="5dp" android:gravity="right" android:layout_gravity="right" android:background="@drawable/song_check_in_button_sel" android:layout_height="0dp" android:layout_weight="1" /> <Button android:id="@+id/match_button" android:layout_width="wrap_content" android:text="" android:layout_marginLeft="0dp" android:layout_marginTop="10dp" android:layout_marginRight="0dp" android:layout_marginBottom="5dp" android:gravity="left" android:background="@drawable/music_match_button_sel" android:layout_height="0dp" android:layout_weight="1" /> <Button android:id="@+id/friends_button" android:layout_width="wrap_content" android:text="" android:layout_marginLeft="0dp" android:layout_marginTop="10dp" android:layout_marginRight="0dp" android:layout_marginBottom="5dp" android:gravity="right" android:layout_gravity="right" android:background="@drawable/my_friends_music_button_sel" android:layout_height="0dp" android:layout_weight="1" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal" android:layout_marginRight="0dp" android:layout_marginLeft="0dp" android:layout_marginTop="0dp" android:padding="0dp" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="65dp" android:orientation="horizontal" android:layout_marginRight="0dp" android:layout_marginLeft="0dp" android:layout_marginTop="0dp" android:padding="0dp" android:layout_gravity="bottom" > <ImageView android:src="@drawable/trending_bar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="top" android:layout_marginRight="0dp" android:layout_marginLeft="0dp" android:layout_marginTop="10dp" android:scaleType="fitXY"/> </LinearLayout> </LinearLayout> </LinearLayout> 

希望有人能帮助。

Solutions Collecting From Web of "android ImageButton缩放并保持宽高比"

将ImageButton的宽度设置为fitStart ,对拥有左边距的图像使用scaletype fitStart ,对fitStart的图像使用fitEnd。 应该做的伎俩,至less就你的示例图像去。 如果图像的比例宽度超过屏幕宽度,则可能会有一些间距问题,但它应该适合您。