Android如何實現圖片顯示與屏幕適配

這篇文章主要介紹Android如何實現圖片顯示與屏幕適配,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

站在用戶的角度思考問題,與客戶深入溝通,找到易門網站設計與易門網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都做網站、網站設計、企業官網、英文網站、手機端網站、網站推廣、主機域名、網頁空間、企業郵箱。業務覆蓋易門地區。

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如何實現圖片顯示與屏幕適配
分享路徑:http://m.kartarina.com/article44/gecdee.html

成都網站建設公司_創新互聯,為您提供建站公司網站設計面包屑導航外貿網站建設商城網站ChatGPT

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司
主站蜘蛛池模板: 亚洲AV无码一区二区三区网址| 亚洲中文字幕无码一区| 91精品无码久久久久久五月天| 国产成人无码区免费A∨视频网站| 久久精品国产亚洲AV无码娇色 | 亚洲AV人无码综合在线观看| 日韩av无码中文字幕| 亚洲AV无码专区在线厂| 日韩成人无码中文字幕| 国产精品无码制服丝袜| 91久久九九无码成人网站| 亚洲成A人片在线观看无码3D| 日韩爆乳一区二区无码| 中文字幕丰满伦子无码| 亚洲精品无码你懂的网站| 亚洲色在线无码国产精品不卡| 国产亚洲精久久久久久无码| 一本大道无码日韩精品影视| 一本一道VS无码中文字幕| 午夜无码A级毛片免费视频| 久久无码精品一区二区三区| 最新亚洲人成无码网www电影| 无码夫の前で人妻を侵犯| 无码国内精品人妻少妇| 亚洲综合无码精品一区二区三区| 无码日韩精品一区二区免费| 伊人天堂av无码av日韩av| 蜜桃成人无码区免费视频网站| 国产成人无码AV一区二区在线观看 | 久久久无码一区二区三区| 亚洲精品无码成人片久久| 国产成人无码精品一区在线观看| 国产精品国产免费无码专区不卡| 无码里番纯肉h在线网站| 一本天堂ⅴ无码亚洲道久久| 亚洲AV无码一区二区乱子仑| 亚洲欧洲无码一区二区三区| 丰满亚洲大尺度无码无码专线| 无码高潮少妇毛多水多水免费| 国产av无码专区亚洲av毛片搜| 国产成人无码精品久久久露脸 |