【问题标题】:Scaling backround like ImageView scaleType="fitCenter"像 ImageView scaleType="fitCenter" 一样缩放背景
【发布时间】:2020-07-26 07:44:00
【问题描述】:

我的 ImageView 可以通过 scaleType = "fitCenter" 将我的 file.png 保持为矩形并在不同的屏幕/旋转上变小/变大,从而极大地缩放我的 file.png。 此 ImageView 在具有相同背景文件的 LinearLayout 内。 问题是,在背景缩放后我无法获得相同的结果 - 源图片总是被水平拉伸或变大。

这是我的代码:

<LinearLayout
        android:id="@+id/layout_button_quiz"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/scaling_background">
        <ImageView
            android:id="@+id/button_quiz"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/brain_off"
            android:scaleType="fitCenter"/>
</LinearLayout>

这是我尝试过的背景缩放解决方案,但不起作用:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/brain_off"
    android:scaleType="fitCenter"/>

总结一下: 我希望 LinearLayout 的背景与其中的 ImageView 缩放相同,即 scaleType=fitCenter。

【问题讨论】:

    标签: android kotlin background imageview scaling


    【解决方案1】:
    <item android:drawable="@color/transparent"/>
    <item>
        <bitmap
            android:gravity="center|fill"
            android:src="@drawable/ic_share" />
    </item>
    

    将此设置为布局的背景。但这将填充背景并且图像可能会拉伸。 使其完美地以编程方式设置背景

    int widthI = bitMapin.getWidth();
    int heightI = bitMapin.getHeight();
    int widthC = container.getWidth();
    int heightC = container.getHeight();
    int new_width = widthC;
    int new_height = (int) Math.floor((double) heightI *( (double) new_width / (double)       widthI ));
    Bitmap newbitMap = Bitmap.createScaledBitmap(bitMapin, new_width, new_height, true);
    container.setBackground(new BitmapDrawable(getResources(), newbitMap))
    

    【讨论】:

    • 好的,我还在学习基础知识,所以请原谅我可能是菜鸟的问题,但是我如何将这个 放入 xml 文件中?它不只是用于菜单或选择器吗?
    • 好的,放入schemas.android.com/apk/res/android" > 并将文件放入drawable文件夹
    猜你喜欢
    • 2013-09-18
    • 1970-01-01
    • 2017-06-07
    • 2012-07-08
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多