我正在尝试布局一个屏幕...
基本上,我试图在屏幕上垂直垂直分配4个ImageButton对象...我使用了here来均匀分配项目,但是现在要缩放图像但保持宽高比是非常糟糕的时间...如果我使用他们不缩放的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>
希望有人可以提供帮助。
最佳答案
将ImageButtons的宽度设置为fill_parent
,对拥抱左边距的图像使用scaletype fitStart
,对右边的图像使用fitEnd
。应该做到这一点,至少在您的示例图片中可以找到。如果图像的比例宽度超过屏幕宽度,则可能会出现间距问题,但它应该对您有用。