我是Android新手,一切顺利,直到现在我必须处理布局。 我想要的是这种布局:
布局应该如何: 图像应适当缩放并保持其比例。
这就是我尝试使用这个XML代码的原因,但它并不像我想要的那样工作。图像保持其比例,但左侧和右侧在垂直时不在屏幕之外,在水平时在顶部和底部切割:
布局如何:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:orientation="vertical"
android:background="@color/background">
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:src="@drawable/logo"
android:gravity="center"
android:scaleType="centerCrop"
android:contentDescription="@string/app_logo"
android:layout_weight="2.5" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"
android:gravity="center">
<Button
android:id="@+id/id1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="20dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:text="@string/text1"
android:textSize="40sp"
/>
<Button
android:id="@+id/id2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:text="@string/text2"
/>
<Button
android:id="@+id/id3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_gravity="center"
android:text="@string/text3" />
</LinearLayout>
</LinearLayout>
我google了很多但却找不到我想要的东西。 请帮忙!
答案 0 :(得分:1)
看起来android:scaleType="fitCenter"
正是您要找的
答案 1 :(得分:0)
你必须为你的垂直状态和水平状态设计2个布局,并将它们放在你的android项目的两个不同的文件夹中:
当您将常规布局放在布局文件夹中时,应将横向布局放在layout-land
文件夹中。
答案 2 :(得分:0)
尝试将android:scaleType="fitXY"
设置为ImageView
。