3

我是 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>

我用谷歌搜索了很多,但找不到我要找的东西。请帮忙!

4

3 回答 3

1

看起来android:scaleType="fitCenter"就是你要找的东西

于 2013-03-05T09:33:06.223 回答
0

您必须为您的垂直状态和水平状态设计 2 个布局,并将它们放在您的 android 项目中的两个不同文件夹中:

当您将常规布局放在布局文件夹中时,您应该将横向布局放在layout-land文件夹中。

于 2013-03-05T08:45:09.800 回答
0

尝试设置android:scaleType="fitXY"为您的ImageView.

于 2013-03-05T08:47:51.637 回答