標籤:寬度 sheet http ber rap gpo 一般來說 lin ack
開始解說這篇部落格之前,我想問一下,當布局相似GridView這樣的多欄版面配置時,我們該怎麼布局,才幹更好的去適配呢?
扣張圖來展示一下
比如這樣的需求,三張圖片均分螢幕
實現方法:
1.切圖固定,比如是1080x1920。
在固定解析度上非常好計算,也非常好適配。但有個問題。換了不同的解析度,就須要做不同的適配。針對不同的解析度即可計算。這樣也能實現。可是太麻煩了,由於各種解析度的手機層出不窮,適配不止啊。
2.就是本篇部落格記敘的重點實現方式。
不用通過固定的大小來設定圖片大小。那麼怎麼做呢?上面已經說過。這樣的需求是將螢幕三分。那麼擷取螢幕寬度。在動態設定圖片寬度為0.3螢幕寬度就能非常好的解決這個適配的問題。那麼寬度攻克了,高度怎麼解決呢?
一般來說。是依據寬高比來確定的,要麼是1:1,要麼是16:9等。寬高比能夠讓設計來確定,這樣就能夠依據獲得的寬度來確定高度,哈哈,這樣不就是全然解決適配問題了麼。
說了這麼多,也該上代碼了
//擷取螢幕寬度 int width = ((Activity) ivImage2.getContext()).getWindowManager().getDefaultDisplay().getWidth(); ViewGroup.LayoutParams params = ivImage2.getLayoutParams(); //設定圖片的相對於螢幕的寬高比 params.width = width/2; params.height = width/3 ; ivImage2.setLayoutParams(params);
非常easy吧。在adapter中,執行個體化ImageView後,調用這幾句代碼,當然寬高比依據詳細需求來說。
另外。xml中ImageView設定寬高都應該為
android:layout_width="wrap_content"android:layout_height="wrap_content"
這樣整個適配就完畢了,記錄工作中的小成長。謝謝。
Android學習之GridView圖片布局適配經驗