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

Android 以编程方式设计多种屏幕尺寸的布局,android,Android,我想知道如何创建一个多屏幕大小的android用户界面设计程序 以3.5英寸为例,使用宽度和高度编程设置的按钮或布局在5英寸设备中看起来非常小 同样,为5英寸设备创建的按钮或布局也将为3.5英寸设备修剪 所以我想知道如何处理它使用密度像素dp而不是像素 读这里 使用以下辅助方法在密度像素和真实像素之间进行转换: /** * Converts dp unit to equivalent pixels, depending on device density. * * @param dp

我想知道如何创建一个多屏幕大小的android用户界面设计程序

以3.5英寸为例,使用宽度和高度编程设置的按钮或布局在5英寸设备中看起来非常小 同样,为5英寸设备创建的按钮或布局也将为3.5英寸设备修剪


所以我想知道如何处理它

使用密度像素dp而不是像素

读这里

使用以下辅助方法在密度像素和真实像素之间进行转换:

/**
 * 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是一个扩展应用程序类的类

public class MyApplication extends Application 

android以一种非常好的方式支持各种屏幕大小和分辨率。 通过使用最小宽度限定符,可以为不同的屏幕大小提供不同的布局

您还可以为每个屏幕密度提供每个图像/图标的不同版本

有关更多信息,请查看Deacoy的链接。 永远记住,开始研究一项新技术的最好方法是官方文档