Android簡單界面適配

Android頁面佈局適配

引用了前人的學習後總結的簡略版界面適配。
原鏈接:https://www.jianshu.com/p/12ce5c0a6163

使用第三方開源框架適配

Android第三方開源框架——AndroidAutoSize

屏幕適配框架AndroidAutoSize是根據今日頭條屏幕適配方案優化的。 (今日頭條的低成本屏幕適配終極方案)

在GitHub上也可以可以找到該開源項目。

1. 配置依賴(有更新的建議直接先看GitHub上面的源碼)

<!--私有依賴-->
implementation 'me.jessyan:autosize:1.1.2'
<!--共有依賴-->
api 'me.jessyan:autosize:1.1.2'

2. 使用功能及其介紹

  1. 直接在Main.xml中添加配置即可

    <!--適配海博TV-->
    <manifest>
        <application>            
            <meta-data
                android:name="design_width_in_dp"
                android:value="540"/>
            <meta-data
                android:name="design_height_in_dp"
                android:value="960"/>           
         </application>           
    </manifest>
    
  2. 直接在Main.xml中添加這個配置是指的是整個項目的界面構造,如果有哪個界面或者活動是單獨的size的話,讓這個活動(或者是fragment)實現CustomAdapt接口,重寫這個接口中的第一個方法就可以。

    public class CustomAdaptActivity extends AppCompatActivity implements CustomAdapt {
    
         /**
         * 是否按照寬度進行等比例適配 (爲了保證在高寬比不同的屏幕上也能正常適配, 所以只能在寬度和高度之中選擇一個作爲基準進行適配)
         *
         * @return {@code true} 爲按照寬度進行適配, {@code false} 爲按照高度進行適配
         */
        @Override
        public boolean isBaseOnWidth() {
            return false;
        }
    
         /**
         * 設計圖尺寸爲 1080px * 1920px, 高換算成 dp 爲 960 (1920px / 2 = 960dp)
         * <p>
         * 返回的設計尺寸, 單位 dp
         * {@link #getSizeInDp} 須配合 {@link #isBaseOnWidth()} 使用, 規則如下:
         * 如果 {@link #isBaseOnWidth()} 返回 {@code true}, {@link #getSizeInDp} 則應該返回設計圖的總寬度
         * 如果 {@link #isBaseOnWidth()} 返回 {@code false}, {@link #getSizeInDp} 則應該返回設計圖的總高度
         * 如果您不需要自定義設計圖上的設計尺寸, 想繼續使用在 AndroidManifest 中填寫的設計圖尺寸, {@link #getSizeInDp} 則返回 {@code 0}
         *
         * @return 單位 dp
         */
        @Override
        public float getSizeInDp() {
            return 667;
        }
    }
    

    如果有個界面不想要適配的話,也只需要實現CancelAdapt接口就行。

    public class CancelAdaptActivity extends AppCompatActivity implements CancelAdapt {
    
    }
    
  3. 關於自定義view和一些頑固的界面適配的話,直接訪問該網站有終極解決方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章