mrd*_*mrd 7 resources android drawable
我是否正确理解这一点:
所有Android设备都属于这4个密度桶中的一个:ldpi,mdpi,hdpi,xhdpi.
因此,如果为密度中的每一个提供了可绘制资源(每个文件夹中都存在drawable或同名),则无需在/ res/drawable中提供具有相同名称的drawable或/ RES /抽拉-nodpi.
我的调整是否正确?
那么,为什么在/ res/drawable中提供相同的资源是有意义的唯一原因是,为了使应用程序更具有前瞻性,以防为Android OS定义新的密度存储桶?
Com*_*are 24
我的调整是否正确?
通过这一段,你或多或少是正确的.你的下一段有点"脱轨":
那么,为什么在/ res/drawable中提供相同的资源是有意义的唯一原因是,为了使应用程序更具有前瞻性,以防为Android OS定义新的密度存储桶?
并不是的.
您将资源放在res/drawable/
本质上可扩展的(例如,a ShapeDrawable
).你把资源放在res/drawable-nodpi/
那里,出于某种原因,你不希望缩放以匹配设备密度.
如果Android发明了一个新的密度桶(例如,-uhdpi
对于400dpi的超高密度),如果你跳过一个密度桶,Android可能会做它今天所做的事:扩展你的其他版本之一.例如,如果您有-xhdpi
或没有-hdpi
,Android将对-xhdpi
图像进行下采样以便在-hdpi
设备上使用.
小智 5
这是正确的,只要你在所有4个密度桶中都有抽屉就可以了.一种常见的做法是在/ res/drawable中制作一个自定义绘图,它指的是您的密度跨越drawables.
例如,您可能需要一个按下和未按下状态的按钮.首先,您将为按下和未按下的按钮包含每个密度的可绘制对象.然后你可以在/ res/drawables中创建以下button_black_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false"
android:drawable="@drawable/button_black"/>
<item android:state_pressed="true"
android:drawable="@drawable/button_black_selected" />
</selector>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4706 次 |
最近记录: |