Android 以编程方式设计多种屏幕尺寸的布局
我想知道如何创建一个多屏幕大小的android用户界面设计程序 以3.5英寸为例,使用宽度和高度编程设置的按钮或布局在5英寸设备中看起来非常小 同样,为5英寸设备创建的按钮或布局也将为3.5英寸设备修剪Android 以编程方式设计多种屏幕尺寸的布局,android,Android,我想知道如何创建一个多屏幕大小的android用户界面设计程序 以3.5英寸为例,使用宽度和高度编程设置的按钮或布局在5英寸设备中看起来非常小 同样,为5英寸设备创建的按钮或布局也将为3.5英寸设备修剪 所以我想知道如何处理它使用密度像素dp而不是像素 读这里 使用以下辅助方法在密度像素和真实像素之间进行转换: /** * Converts dp unit to equivalent pixels, depending on device density. * * @param dp
所以我想知道如何处理它使用密度像素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的链接。 永远记住,开始研究一项新技术的最好方法是官方文档