我想知道如何以编程方式为多种屏幕尺寸创建Android UI设计?
例如,使用宽度和高度编程为3.5英寸的按钮或布局设置在5英寸设备中看起来非常小 类似地,为5英寸设备创建的按钮或布局将被修剪为3.5英寸设备。
所以想知道如何处理它
答案 0 :(得分:2)
使用密度像素(dp)代替像素。
请在此处阅读android supporting multiple screens
使用这些辅助方法在密度像素和真实像素之间进行转换:
/**
* Converts dp unit to equivalent pixels, depending on device density.
*
* @param dp A value in dp (density independent pixels) unit. Which we need to convert into pixels
* @return float value to represent px equivalent to dp depending on device density
*/
public static float dpToPixel(float dp){
Resources resources = MyApplication.getAppContext().getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float px = dp * (metrics.densityDpi / 160f);
return px;
}
/**
* Converts device specific pixels to density independent pixels.
*
* @param px A value in px (pixels) unit. Which we need to convert into db
* @return float value to represent dp equivalent to px value
*/
public static float convertPixelsToDp(float px){
Resources resources = MyApplication.getAppContext().getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float dp = px / (metrics.densityDpi / 160f);
return dp;
}
(MyApplication是一个扩展Application类的类)
public class MyApplication extends Application
答案 1 :(得分:0)
android以非常好的方式支持各种屏幕尺寸和分辨率。 您可以使用最小的宽度限定符为不同的屏幕尺寸提供不同的布局。
您还可以为每个屏幕密度提供每个图像/图标的不同版本。
查看Deacoy的链接以获取更多信息。 永远记住开始潜入新技术的最佳方式是官方文档。