【问题标题】:How keep aspect ratio in bitmap drawable如何保持位图中可绘制的纵横比
【发布时间】:2012-09-24 08:43:47
【问题描述】:

如果我使用重力fill_verticalfill_horizontal,如何保持纵横比?在这段代码中:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/_toogle_green"
    android:gravity="bottom|fill_vertical"
/>

位图垂直填充,但水平保持原始宽度和纵横比被破坏。

我相信有人问过这个问题,但我真的找不到,只针对 ImageView 或 ImageButton。但我需要在drawables中这样做。

【问题讨论】:

    标签: android


    【解决方案1】:

    试试这个:

    <item>
         <bitmap
              android:gravity="center|bottom|clip_vertical"
              android:src="@drawable/your_image" />
    </item>
    

    【讨论】:

    • 我只是想垂直填充并水平填充保持纵横比不变,这非常适合我的用例。非常感谢:)
    • 这仅在原始图像实际上大于布局元素时才有效。
    • 你是对的@ocramot,它不会扩大规模。对于这种用例,您应该实现更强大和更复杂的图像缩放算法(如果您关心图像质量)。
    • @IonutNegru 你知道如何水平填充并在需要时垂直裁剪,同时保持纵横比吗?
    • @rightaway717 您可以尝试使用重力值。反转它们应该会给你想要的结果。另一种选择可能是使用包装器 ImageView(应该提供更多缩放选项)。
    【解决方案2】:

    您需要设置ScaleType。见this link to the documentation for more info.

    【讨论】:

    • 这是ImageView。我需要可绘制按钮或其他无法使用的控件ImageView
    猜你喜欢
    • 2013-03-04
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    相关资源
    最近更新 更多