android - ImageView:在 Button 上方适当缩放

标签 android imageview

我是 Android 的新手,一切都很顺利,直到现在我必须处理布局。 我想要的是这个布局:

布局应该如何: 图像应适当缩放并保持其比例。

这就是我尝试此 XML 代码的原因,但它无法按我想要的方式工作。图像保持其比例,但垂直时左侧和右侧超出屏幕,水平时在顶部和底部切割:

布局是怎样的: enter image description here

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

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

最佳答案

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

关于android - ImageView:在 Button 上方适当缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15219094/

相关文章:

android - 如何使用 jetpack compose 将按钮标记为可选择

android - 如何使通知恢复而不是重新创建 Activity ?

android - 如何模拟来自其他应用程序的标签触摸

Android布局均匀间距

android - 在 android 中缩放图像时图像质量差

android - BottomNavigationView - 如何取消选中所有 MenuItems 并保持标题显示?

android - 从自定义 View 启动 AsyncTask 的最佳实践

android - 未单击图像的嵌套 Recyclerview

android - 缩放图像以填充 ImageView 宽度并保持纵横比

java - 如何在android中使用相对布局将背景图像添加到 ScrollView ?