以编程方式为多种屏幕尺寸设计布局

时间:2014-02-27 14:47:02

标签: android

我想知道如何以编程方式为多种屏幕尺寸创建Android UI设计?

例如,使用宽度和高度编程为3.5英寸的按钮或布局设置在5英寸设备中看起来非常小 类似地,为5英寸设备创建的按钮或布局将被修剪为3.5英寸设备。

所以想知道如何处理它

2 个答案:

答案 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的链接以获取更多信息。 永远记住开始潜入新技术的最佳方式是官方文档。