我正在基于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>

最佳答案

this answer

根据http://developer.android.com/guide/topics/resources/providing-resources.html,sw480dp表示“屏幕的最小边必须至少为480 dp”。现在dp是“ 160 dpi屏幕上的像素”,因此,我估计dp中注2的实际大小为724 dx x 451 dp(因此不能以sw480dp的形式提供)。

还看here

请记住,“ sw”限定符仅从Android 3.2(API级别13)开始工作

08-18 11:23