应该是一个简单的.
当我拉动时,image.getDrawable().getIntrinsicWidth()我得到一个大于源图像宽度的值.它的X坐标是返回2880而不是1920,这是1.5倍太大了?
我想知道具有scaleType"center"的ImageView是否影响了它,但根据文档:
"将图像置于视图中心,但不执行缩放. "
这是来源:
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/background"
android:scaleType="center"/>
Run Code Online (Sandbox Code Playgroud)
Ton*_*han 23
你说drawable来自你的/res文件夹.它在哪个文件夹中?
/res/drawable/res/drawable-mdpi/res/drawable-hdpi
等等..
您正在测试的设备的密度是多少?它是一般的密度为240dpi的Nexus S吗?因为如果您的源可绘制drawable-mdpi文件位于文件夹中并且您正在240dpi设备上进行测试,那么Android系统将自动将可绘制对象缩放一倍,以1.5使物理大小与160dpi的基线设备密度一致.
当你调用getIntrinsicWidth()返回的内容时,在Android缩放drawable之后,drawable 想要的大小.你会注意到的2880 = 1920 * 1.5
如果您将drawable放置在/res/drawableAndroid系统中,则将这些drawable视为mdpi设备,因此在Nexus S中进行升级.如果这是针对hdpi屏幕的,并且您不希望它升级,那么请尝试将其放入drawable-hdpi
| 归档时间: |
|
| 查看次数: |
11439 次 |
| 最近记录: |