国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 圖片顯示與屏幕適配的問題

2019-10-22 18:30:19
字體:
來源:轉載
供稿:網友

Android 圖片顯示與屏幕適配的問題

在Android開發中比較頭疼的是Android的分辨率問題,那么這里給大家介紹個萬能辦法,這個辦法的優點是可以實現萬能適應,給開發和美工設計提供了依據,但是對開發來說代碼量也不少,具體辦法:

(1)獲取屏幕的尺寸

WindowManager windowManager = (WindowManager)     getSystemService(Context.WINDOW_SERVICE);Display d = windowManager.getDefaultDisplay();mWidth = d.getWidth();mHeight = d.getHeight();DisplayMetrics dm = getResources().getDisplayMetrics()mScreenDensity = dm.density;

(2)美工設計圖的尺寸

uiWidth,uiHeight

(3)獲取縮放比例

float scaleWidth = mWidth / uiWidth;float scaleHeight = mHeight/ uiHeight;

(4)所有布局的尺寸用代碼實現:

public static int getWidthSize(int size) {        return (int) (size * scaleWidth);    }    public static int getHightSize(int size) {        return (int) (size * scaleHeight);    }    public static float getTextSize(int pxSize) {        return (pxSize * scaleHeight) / mScreenDensity;    }    public static void setViewSize(int width, int height, View v) {        int paramWidth = getWidthSize(width);        int paramHeight = getHightSize(height);        ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v                .getLayoutParams();        if (width != INVALID) {            params.width = paramWidth;        }        if (height != INVALID) {            params.height = paramHeight;        }        v.setLayoutParams(params);    }    public static void setViewPadding(int left, int top, int right, int bottom,            View v) {        left = getWidthSize(left);        top = getHightSize(top);        right = getWidthSize(right);        bottom = getWidthSize(bottom);        v.setPadding(left, top, right, bottom);    }    public static void setViewMargin(int left, int top, int right, int bottom,            View v) {        int paramLeft = getWidthSize(left);        int paramTop = getHightSize(top);        int paramRight = getWidthSize(right);        int paramBottom = getHightSize(bottom);        ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v                .getLayoutParams();        if (left != INVALID) {            params.leftMargin = paramLeft;        }        if (right != INVALID) {            params.rightMargin = paramRight;        }        if (top != INVALID) {            params.topMargin = paramTop;        }        if (bottom != INVALID) {            params.bottomMargin = paramBottom;        }        v.setLayoutParams(params);}

(5)這里是設置尺寸的代碼:

setViewSize(100, 100, mView);    setViewMargin(20, 0, 0, 20, mView);    setViewPadding(10, 10, 10, 10, mView);    mTextView.setTextSize(getTextSize(30));

由上在設計效果圖時,可對圖內元素進行尺寸標注,程序即可實現按比例縮放。

以上就是Android 圖片顯示與屏幕適配的問題的萬能解決辦法,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湾仔区| 大安市| 错那县| 且末县| 桐梓县| 奉节县| 高要市| 咸阳市| 广昌县| 基隆市| 扎赉特旗| 那坡县| 郑州市| 祁东县| 陕西省| 特克斯县| 自贡市| 莎车县| 漳州市| 曲阜市| 庆城县| 长顺县| 安乡县| 革吉县| 班玛县| 江阴市| 衡山县| 玛纳斯县| 尚义县| 宁德市| 鄄城县| 长沙市| 和林格尔县| 习水县| 南丹县| 拜城县| 十堰市| 闻喜县| 昭通市| 宜兴市| 抚远县|