我正在开发一个Android应用程序,它设计的数字(边距等)没有相关的东西,所以我想我会发现很多不同屏幕尺寸的问题所以我想做一个功能,将保持数据DIMENSIONS
文件与用户屏幕大小成比例,如( User's screen size X dimen)/(the screen size which the app were designed on)
,所以我想知道这是否会导致App工作等问题。
谢谢=)
答案 0 :(得分:3)
在Layouts Folder
文件夹中为所有设备创建三个不同的res
,并相应地使用这些维度。
通用布局文件夹
res/layout-small
res/layout-normal
res/layout-large
res/layout-xlarge
完成正常/中等布局后,请按照以下步骤操作:
用于转换值
0.75 - ldpi (small) //mdpi dimens *0.75
1.0 - mdpi (normal) //First create these dimensions
1.5 - hdpi (large) //mdpi dimens *1.5
2.0 - xhdpi (xLarge) //mdpi dimens *2.0
例如
android:layout_width="66dip" //in normal
android:layout_width="100dip"//in large 66*1.5=100(approx)
android:layout_width="52dip" //in small 66*0.75=52(approx)
此外,还推出了新的限定符 - 最小宽度 - AvailableScreenWidth - AvailableScreenHeight
在此处详细了解https://developer.android.com/guide/practices/screens_support.html
我希望这会有所帮助。
答案 1 :(得分:2)
可以自动尝试管理所有屏幕尺寸分辨率的库。
compile 'com.intuit.sdp:sdp-android:1.0.4'
您只需在build.gradle
文件中添加依赖项即可完成。
您需要指定:
android:layout_height="@dimen/_10sdp"
而不是:
android:layout_height="@dimen/10sdp"
答案 2 :(得分:0)
//Dimen
implementation 'com.intuit.ssp:ssp-android:1.0.5'
implementation 'com.intuit.sdp:sdp-android:1.0.5'
使用这两个库, ssp用于文本大小,sdp用于页边距,填充和布局大小
android:layout_width="@dimen/_24sdp"
android:layout_height="@dimen/_24sdp"