我在values文件夹中设置了基于dimens.xml的ImageView的height属性。对于sw480dp以上的屏幕,我有1个dimens.xml。但遗憾的是,所有的默认维度文件都被调用而不是sw480dp。我在运行Android Lollipop的真实设备Samsung Note 2上测试了这个。使用的IDE:Android Studio
<ImageView
android:id="@+id/imgview"
android:layout_width="240dp"
android:layout_height="@dimen/image_size"
android:layout_weight="1"
android:scaleType="fitXY" />
dimens.xml(默认)
<dimen name="image_size">250dp</dimen>
dimens.xml(sw480dp)
<dimen name="image_size">500dp</dimen>
答案 0 :(得分:4)
根据http://developer.android.com/guide/topics/resources/providing-resources.html,sw480dp表示“屏幕的最小边必须至少为480 dp”。现在dp是“160 dpi屏幕上的像素”,因此dp中的Note 2的实际大小将是724 dp x 451 dp(因此不能作为sw480dp提供)。
另见here
请记住,“sw”限定符仅适用于Android 3.2(API级别13)