選擇手機號前綴控件

前言

前幾天做了個選擇控件,雖然挺簡單的,但是就想給封裝一下,封裝完之後發現靈活性不高,牽扯資源比較多,於是就單拎出來,重新封裝了下,靈活性大大提高,雖然很簡單(源碼就二百行,再加上一些xml文件和資源)

Github地址:https://github.com/ltttttttttttt/select_country

ps:kotlin寫的,RecyclerView用的是v7包下的

效果

中文環境下,根據拼音首字母排序,可以右邊欄點擊或滑動,可以增加回調來設置是否顯示toast或自定義事件,點擊後finish並返回bean信息,各種佈局和數據都可自定義(只不過方式比較奇葩,嘿嘿)

中文環境根據首拼音排序,英文環境下根據英文首字母排序

使用方式

1.下載aar包(其實開始是想用maven的方式的,但是maven貌似沒法帶清單文件和assets文件夾,找了半天就改用aar包了)

ps:aar包比較大(300K+)是因爲包含了數據資源,比如圖片和對應的數據

鏈接:https://pan.baidu.com/s/1FNV2hr1YEDCJUnDBv5_hOA 
提取碼:yeaw 

2.引入(Android Studio方式)

把aar放入libs文件夾中,並在app的Build.Gradle中寫:

android{
    ...
}
repositories {
    flatDir {
        dirs 'libs'
    }
}

然後在app的Build.Gradle中引用:

implementation name: 'select_country-1.0.2', ext: 'aar'

ps:如果項目裏沒有引入RecyclerView,則需要在加一行(版本比較低,可以自己調高)

implementation 'com.android.support:recyclerview-v7:25.3.1'

3.在代碼中使用

//Java下使用

//在需要的時候調用
startActivityForResult(new Intent(this, LtSelectCountryActivity.class), 0);

//接收返回的數據
 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK) {
            CountryBean countryBean = LtSelectCountryActivity.getCountryBean(data);
            if (countryBean != null) {
                //todo 在這裏處理返回結果 (  en:英文名稱  zh:中文名稱  locale:代碼,比如大陸CN  code:電話前綴,比如大陸前綴是86  shoupinyin:中文首拼音,一般不需要用
                Toast.makeText(this, countryBean.getZh(), Toast.LENGTH_LONG).show();
            }
        }
    }

//Kotlin下使用法一樣,但結合我這篇文章,可以如下簡化  https://blog.csdn.net/qq_33505109/article/details/86624178

        startActivityForResult<LtSelectCountryActivity> {
            val bean = LtSelectCountryActivity.getCountryBean(it) ?: return@startActivityForResult
            //todo 在這裏處理
            Toast.makeText(this, bean.zh, Toast.LENGTH_SHORT).show()
        }

ok,基本使用就講完了,下面講下別的方法,自定義頁面和自定義數據的

4.其他方法

//攔截或監聽右邊字母被點擊或滑動(一般是用來設置toast的樣式)

        LtSelectCountryActivity.setSelectListener(new Function1<String, Boolean>() {
            @Override
            public Boolean invoke(String s) {
                //todo s是點擊或劃過時字母的值
                return Boolean.FALSE;//返回Boolean.TRUE則不會彈出默認的Toast
            }
        });

5.自定義數據

//添加或者修改圖片

在當前module下的  main->assets->countryflags  文件夾中添加   代碼.png   命名的圖片即可(代碼大寫)

//自定義相關數據

在當前module下創建這個txt文件  main->assets->data->country.txt  ,並把下面內容粘貼進去,並按照格式進行修改或添加即可

{"shoupinyin":"A","en":"Angola","zh":"安哥拉","locale":"AO","code":244}
{"shoupinyin":"A","en":"Afghanistan","zh":"阿富汗","locale":"AF","code":93}
{"shoupinyin":"A","en":"Albania","zh":"阿爾巴尼亞","locale":"AL","code":355}
{"shoupinyin":"A","en":"Algeria","zh":"阿爾及利亞","locale":"DZ","code":213}
{"shoupinyin":"A","en":"Andorra","zh":"安道爾共和國","locale":"AD","code":376}
{"shoupinyin":"A","en":"Anguilla","zh":"安圭拉島","locale":"AI","code":1264}
{"shoupinyin":"A","en":"AntiguaandBarbuda","zh":"安提瓜和巴布達","locale":"AG","code":1268}
{"shoupinyin":"A","en":"Argentina","zh":"阿根廷","locale":"AR","code":54}
{"shoupinyin":"Y","en":"Armenia","zh":"亞美尼亞","locale":"AM","code":374}
{"shoupinyin":"A","en":"Australia","zh":"澳大利亞","locale":"AU","code":61}
{"shoupinyin":"A","en":"Austria","zh":"奧地利","locale":"AT","code":43}
{"shoupinyin":"A","en":"Azerbaijan","zh":"阿塞拜疆","locale":"AZ","code":994}
{"shoupinyin":"B","en":"Bahamas","zh":"巴哈馬","locale":"BS","code":1242}
{"shoupinyin":"B","en":"Bahrain","zh":"巴林","locale":"BH","code":973}
{"shoupinyin":"M","en":"Bangladesh","zh":"孟加拉國","locale":"BD","code":880}
{"shoupinyin":"B","en":"Barbados","zh":"巴巴多斯","locale":"BB","code":1246}
{"shoupinyin":"B","en":"Belarus","zh":"白俄羅斯","locale":"BY","code":375}
{"shoupinyin":"B","en":"Belgium","zh":"比利時","locale":"BE","code":32}
{"shoupinyin":"B","en":"Belize","zh":"伯利茲","locale":"BZ","code":501}
{"shoupinyin":"B","en":"Benin","zh":"貝寧","locale":"BJ","code":229}
{"shoupinyin":"B","en":"BermudaIs.","zh":"百慕大羣島","locale":"BM","code":1441}
{"shoupinyin":"B","en":"Bolivia","zh":"玻利維亞","locale":"BO","code":591}
{"shoupinyin":"B","en":"Botswana","zh":"博茨瓦納","locale":"BW","code":267}
{"shoupinyin":"B","en":"Brazil","zh":"巴西","locale":"BR","code":55}
{"shoupinyin":"W","en":"Brunei","zh":"文萊","locale":"BN","code":673}
{"shoupinyin":"B","en":"Bulgaria","zh":"保加利亞","locale":"BG","code":359}
{"shoupinyin":"B","en":"Burkina-faso","zh":"布基納法索","locale":"BF","code":226}
{"shoupinyin":"M","en":"Burma","zh":"緬甸","locale":"MM","code":95}
{"shoupinyin":"B","en":"Burundi","zh":"布隆迪","locale":"BI","code":257}
{"shoupinyin":"K","en":"Cameroon","zh":"喀麥隆","locale":"CM","code":237}
{"shoupinyin":"J","en":"Canada","zh":"加拿大","locale":"CA","code":1}
{"shoupinyin":"Z","en":"CentralAfricanRepublic","zh":"中非共和國","locale":"CF","code":236}
{"shoupinyin":"Z","en":"Chad","zh":"乍得","locale":"TD","code":235}
{"shoupinyin":"Z","en":"Chile","zh":"智利","locale":"CL","code":56}
{"shoupinyin":"Z","en":"China","zh":"中國","locale":"CN","code":86}
{"shoupinyin":"G","en":"Colombia","zh":"哥倫比亞","locale":"CO","code":57}
{"shoupinyin":"G","en":"Congo","zh":"剛果","locale":"CG","code":242}
{"shoupinyin":"K","en":"CookIs.","zh":"庫克羣島","locale":"CK","code":682}
{"shoupinyin":"G","en":"CostaRica","zh":"哥斯達黎加","locale":"CR","code":506}
{"shoupinyin":"G","en":"Cuba","zh":"古巴","locale":"CU","code":53}
{"shoupinyin":"Z","en":"Cyprus","zh":"塞浦路斯","locale":"CY","code":357}
{"shoupinyin":"J","en":"CzechRepublic","zh":"捷克","locale":"CZ","code":420}
{"shoupinyin":"D","en":"Denmark","zh":"丹麥","locale":"DK","code":45}
{"shoupinyin":"J","en":"Djibouti","zh":"吉布提","locale":"DJ","code":253}
{"shoupinyin":"D","en":"DominicaRep.","zh":"多米尼加共和國","locale":"DO","code":1890}
{"shoupinyin":"E","en":"Ecuador","zh":"厄瓜多爾","locale":"EC","code":593}
{"shoupinyin":"A","en":"Egypt","zh":"埃及","locale":"EG","code":20}
{"shoupinyin":"S","en":"EISalvador","zh":"薩爾瓦多","locale":"SV","code":503}
{"shoupinyin":"A","en":"Estonia","zh":"愛沙尼亞","locale":"EE","code":372}
{"shoupinyin":"A","en":"Ethiopia","zh":"埃塞俄比亞","locale":"ET","code":251}
{"shoupinyin":"F","en":"Fiji","zh":"斐濟","locale":"FJ","code":679}
{"shoupinyin":"F","en":"Finland","zh":"芬蘭","locale":"FI","code":358}
{"shoupinyin":"F","en":"France","zh":"法國","locale":"FR","code":33}
{"shoupinyin":"F","en":"FrenchGuiana","zh":"法屬圭亞那","locale":"GF","code":594}
{"shoupinyin":"J","en":"Gabon","zh":"加蓬","locale":"GA","code":241}
{"shoupinyin":"G","en":"Gambia","zh":"岡比亞","locale":"GM","code":220}
{"shoupinyin":"G","en":"Georgia","zh":"格魯吉亞","locale":"GE","code":995}
{"shoupinyin":"D","en":"Germany","zh":"德國","locale":"DE","code":49}
{"shoupinyin":"J","en":"Ghana","zh":"加納","locale":"GH","code":233}
{"shoupinyin":"Z","en":"Gibraltar","zh":"直布羅陀","locale":"GI","code":350}
{"shoupinyin":"X","en":"Greece","zh":"希臘","locale":"GR","code":30}
{"shoupinyin":"G","en":"Grenada","zh":"格林納達","locale":"GD","code":1809}
{"shoupinyin":"G","en":"Guam","zh":"關島","locale":"GU","code":1671}
{"shoupinyin":"W","en":"Guatemala","zh":"危地馬拉","locale":"GT","code":502}
{"shoupinyin":"J","en":"Guinea","zh":"幾內亞","locale":"GN","code":224}
{"shoupinyin":"G","en":"Guyana","zh":"圭亞那","locale":"GY","code":592}
{"shoupinyin":"H","en":"Haiti","zh":"海地","locale":"HT","code":509}
{"shoupinyin":"H","en":"Honduras","zh":"洪都拉斯","locale":"HN","code":504}
{"shoupinyin":"X","en":"Hongkong","zh":"香港","locale":"HK","code":852}
{"shoupinyin":"X","en":"Hungary","zh":"匈牙利","locale":"HU","code":36}
{"shoupinyin":"B","en":"Iceland","zh":"冰島","locale":"IS","code":354}
{"shoupinyin":"Y","en":"India","zh":"印度","locale":"IN","code":91}
{"shoupinyin":"Y","en":"Indonesia","zh":"印度尼西亞","locale":"ID","code":62}
{"shoupinyin":"Y","en":"Iran","zh":"伊朗","locale":"IR","code":98}
{"shoupinyin":"Y","en":"Iraq","zh":"伊拉克","locale":"IQ","code":964}
{"shoupinyin":"A","en":"Ireland","zh":"愛爾蘭","locale":"IE","code":353}
{"shoupinyin":"Y","en":"Israel","zh":"以色列","locale":"IL","code":972}
{"shoupinyin":"Y","en":"Italy","zh":"意大利","locale":"IT","code":39}
{"shoupinyin":"Y","en":"Jamaica","zh":"牙買加","locale":"JM","code":1876}
{"shoupinyin":"R","en":"Japan","zh":"日本","locale":"JP","code":81}
{"shoupinyin":"Y","en":"Jordan","zh":"約旦","locale":"JO","code":962}
{"shoupinyin":"J","en":"Kampuchea(Cambodia)","zh":"柬埔寨","locale":"KH","code":855}
{"shoupinyin":"H","en":"Kazakstan","zh":"哈薩克斯坦","locale":"KZ","code":327}
{"shoupinyin":"K","en":"Kenya","zh":"肯尼亞","locale":"KE","code":254}
{"shoupinyin":"H","en":"Korea","zh":"韓國","locale":"KR","code":82}
{"shoupinyin":"K","en":"Kuwait","zh":"科威特","locale":"KW","code":965}
{"shoupinyin":"J","en":"Kyrgyzstan","zh":"吉爾吉斯坦","locale":"KG","code":331}
{"shoupinyin":"L","en":"Laos","zh":"老撾","locale":"LA","code":856}
{"shoupinyin":"L","en":"Latvia","zh":"拉脫維亞","locale":"LV","code":371}
{"shoupinyin":"L","en":"Lebanon","zh":"黎巴嫩","locale":"LB","code":961}
{"shoupinyin":"L","en":"Lesotho","zh":"萊索托","locale":"LS","code":266}
{"shoupinyin":"L","en":"Liberia","zh":"利比里亞","locale":"LR","code":231}
{"shoupinyin":"L","en":"Libya","zh":"利比亞","locale":"LY","code":218}
{"shoupinyin":"L","en":"Liechtenstein","zh":"列支敦士登","locale":"LI","code":423}
{"shoupinyin":"L","en":"Lithuania","zh":"立陶宛","locale":"LT","code":370}
{"shoupinyin":"L","en":"Luxembourg","zh":"盧森堡","locale":"LU","code":352}
{"shoupinyin":"A","en":"Macao","zh":"澳門","locale":"MO","code":853}
{"shoupinyin":"M","en":"Madagascar","zh":"馬達加斯加","locale":"MG","code":261}
{"shoupinyin":"M","en":"Malawi","zh":"馬拉維","locale":"MW","code":265}
{"shoupinyin":"M","en":"Malaysia","zh":"馬來西亞","locale":"MY","code":60}
{"shoupinyin":"M","en":"Maldives","zh":"馬爾代夫","locale":"MV","code":960}
{"shoupinyin":"M","en":"Mali","zh":"馬裏","locale":"ML","code":223}
{"shoupinyin":"M","en":"Malta","zh":"馬耳他","locale":"MT","code":356}
{"shoupinyin":"M","en":"Mauritius","zh":"毛里求斯","locale":"MU","code":230}
{"shoupinyin":"M","en":"Mexico","zh":"墨西哥","locale":"MX","code":52}
{"shoupinyin":"M","en":"Moldova,Republicof","zh":"摩爾多瓦","locale":"MD","code":373}
{"shoupinyin":"M","en":"Monaco","zh":"摩納哥","locale":"MC","code":377}
{"shoupinyin":"M","en":"Mongolia","zh":"蒙古","locale":"MN","code":976}
{"shoupinyin":"M","en":"MontserratIs","zh":"蒙特塞拉特島","locale":"MS","code":1664}
{"shoupinyin":"M","en":"Morocco","zh":"摩洛哥","locale":"MA","code":212}
{"shoupinyin":"M","en":"Mozambique","zh":"莫桑比克","locale":"MZ","code":258}
{"shoupinyin":"N","en":"Namibia","zh":"納米比亞","locale":"NA","code":264}
{"shoupinyin":"L","en":"Nauru","zh":"瑙魯","locale":"NR","code":674}
{"shoupinyin":"N","en":"Nepal","zh":"尼泊爾","locale":"NP","code":977}
{"shoupinyin":"H","en":"Netherlands","zh":"荷蘭","locale":"NL","code":31}
{"shoupinyin":"X","en":"NewZealand","zh":"新西蘭","locale":"NZ","code":64}
{"shoupinyin":"N","en":"Nicaragua","zh":"尼加拉瓜","locale":"NI","code":505}
{"shoupinyin":"N","en":"Niger","zh":"尼日爾","locale":"NE","code":227}
{"shoupinyin":"N","en":"Nigeria","zh":"尼日利亞","locale":"NG","code":234}
{"shoupinyin":"C","en":"NorthKorea","zh":"朝鮮","locale":"KP","code":850}
{"shoupinyin":"N","en":"Norway","zh":"挪威","locale":"NO","code":47}
{"shoupinyin":"A","en":"Oman","zh":"阿曼","locale":"OM","code":968}
{"shoupinyin":"B","en":"Pakistan","zh":"巴基斯坦","locale":"PK","code":92}
{"shoupinyin":"B","en":"Panama","zh":"巴拿馬","locale":"PA","code":507}
{"shoupinyin":"B","en":"PapuaNewCuinea","zh":"巴布亞新幾內亞","locale":"PG","code":675}
{"shoupinyin":"B","en":"Paraguay","zh":"巴拉圭","locale":"PY","code":595}
{"shoupinyin":"M","en":"Peru","zh":"祕魯","locale":"PE","code":51}
{"shoupinyin":"F","en":"Philippines","zh":"菲律賓","locale":"PH","code":63}
{"shoupinyin":"B","en":"Poland","zh":"波蘭","locale":"PL","code":48}
{"shoupinyin":"F","en":"FrenchPolynesia","zh":"法屬玻利尼西亞","locale":"PF","code":689}
{"shoupinyin":"P","en":"Portugal","zh":"葡萄牙","locale":"PT","code":351}
{"shoupinyin":"B","en":"PuertoRico","zh":"波多黎各","locale":"PR","code":1787}
{"shoupinyin":"K","en":"Qatar","zh":"卡塔爾","locale":"QA","code":974}
{"shoupinyin":"L","en":"Romania","zh":"羅馬尼亞","locale":"RO","code":40}
{"shoupinyin":"E","en":"Russia","zh":"俄羅斯","locale":"RU","code":7}
{"shoupinyin":"S","en":"SaintLueia","zh":"聖盧西亞","locale":"LC","code":1758}
{"shoupinyin":"S","en":"SaintVincent","zh":"聖文森特島","locale":"VC","code":1784}
{"shoupinyin":"S","en":"SanMarino","zh":"聖馬力諾","locale":"SM","code":378}
{"shoupinyin":"S","en":"SaoTomeandPrincipe","zh":"聖多美和普林西比","locale":"ST","code":239}
{"shoupinyin":"S","en":"SaudiArabia","zh":"沙特阿拉伯","locale":"SA","code":966}
{"shoupinyin":"S","en":"Senegal","zh":"塞內加爾","locale":"SN","code":221}
{"shoupinyin":"S","en":"Seychelles","zh":"塞舌爾","locale":"SC","code":248}
{"shoupinyin":"S","en":"SierraLeone","zh":"塞拉利昂","locale":"SL","code":232}
{"shoupinyin":"X","en":"Singapore","zh":"新加坡","locale":"SG","code":65}
{"shoupinyin":"S","en":"Slovakia","zh":"斯洛伐克","locale":"SK","code":421}
{"shoupinyin":"S","en":"Slovenia","zh":"斯洛文尼亞","locale":"SI","code":386}
{"shoupinyin":"S","en":"SolomonIs","zh":"所羅門羣島","locale":"SB","code":677}
{"shoupinyin":"S","en":"Somali","zh":"索馬里","locale":"SO","code":252}
{"shoupinyin":"N","en":"SouthAfrica","zh":"南非","locale":"ZA","code":27}
{"shoupinyin":"X","en":"Spain","zh":"西班牙","locale":"ES","code":34}
{"shoupinyin":"S","en":"SriLanka","zh":"斯里蘭卡","locale":"LK","code":94}
{"shoupinyin":"S","en":"St.Lucia","zh":"聖盧西亞","locale":"LC","code":1758}
{"shoupinyin":"S","en":"St.Vincent","zh":"聖文森特","locale":"VC","code":1784}
{"shoupinyin":"S","en":"Sudan","zh":"蘇丹","locale":"SD","code":249}
{"shoupinyin":"S","en":"Suriname","zh":"蘇里南","locale":"SR","code":597}
{"shoupinyin":"S","en":"Swaziland","zh":"斯威士蘭","locale":"SZ","code":268}
{"shoupinyin":"R","en":"Sweden","zh":"瑞典","locale":"SE","code":46}
{"shoupinyin":"R","en":"Switzerland","zh":"瑞士","locale":"CH","code":41}
{"shoupinyin":"X","en":"Syria","zh":"敘利亞","locale":"SY","code":963}
{"shoupinyin":"T","en":"Taiwan","zh":"臺灣省","locale":"TW","code":886}
{"shoupinyin":"T","en":"Tajikstan","zh":"塔吉克斯坦","locale":"TJ","code":992}
{"shoupinyin":"T","en":"Tanzania","zh":"坦桑尼亞","locale":"TZ","code":255}
{"shoupinyin":"T","en":"Thailand","zh":"泰國","locale":"TH","code":66}
{"shoupinyin":"D","en":"Togo","zh":"多哥","locale":"TG","code":228}
{"shoupinyin":"T","en":"Tonga","zh":"湯加","locale":"TO","code":676}
{"shoupinyin":"T","en":"TrinidadandTobago","zh":"特立尼達和多巴哥","locale":"TT","code":1809}
{"shoupinyin":"T","en":"Tunisia","zh":"突尼斯","locale":"TN","code":216}
{"shoupinyin":"T","en":"Turkey","zh":"土耳其","locale":"TR","code":90}
{"shoupinyin":"T","en":"Turkmenistan","zh":"土庫曼斯坦","locale":"TM","code":993}
{"shoupinyin":"W","en":"Uganda","zh":"烏干達","locale":"UG","code":256}
{"shoupinyin":"W","en":"Ukraine","zh":"烏克蘭","locale":"UA","code":380}
{"shoupinyin":"A","en":"UnitedArabEmirates","zh":"阿拉伯聯合酋長國","locale":"AE","code":971}
{"shoupinyin":"Y","en":"UnitedKiongdom","zh":"英國","locale":"GB","code":44}
{"shoupinyin":"M","en":"UnitedStatesofAmerica","zh":"美國","locale":"US","code":1}
{"shoupinyin":"W","en":"Uruguay","zh":"烏拉圭","locale":"UY","code":598}
{"shoupinyin":"W","en":"Uzbekistan","zh":"烏茲別克斯坦","locale":"UZ","code":233}
{"shoupinyin":"W","en":"Venezuela","zh":"委內瑞拉","locale":"VE","code":58}
{"shoupinyin":"Y","en":"Vietnam","zh":"越南","locale":"VN","code":84}
{"shoupinyin":"Y","en":"Yemen","zh":"也門","locale":"YE","code":967}
{"shoupinyin":"N","en":"Yugoslavia","zh":"南斯拉夫","locale":"YU","code":381}
{"shoupinyin":"J","en":"Zimbabwe","zh":"津巴布韋","locale":"ZW","code":263}
{"shoupinyin":"Z","en":"Zambia","zh":"贊比亞","locale":"ZM","code":260}

6.自定義頁面樣式

//自定義主頁面,在layout文件夾下創建一個叫 activity_lt_select_country.xml  的文件,然後複製下面的內容,只要id和控件的類型不變,樣式寬高之類的可以隨便改

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tvTitle"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:background="#fff"
        android:gravity="center"
        android:textColor="#000000"
        android:textSize="16dp" />

    <ImageView
        android:id="@+id/ivBack"
        android:layout_width="wrap_content"
        android:layout_height="45dp"
        android:paddingLeft="14dp"
        android:paddingRight="14dp"
        android:src="@mipmap/select_country_iv_back" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="55dp"
        android:layout_marginRight="20dp">

    </android.support.v7.widget.RecyclerView>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvRight"
        android:layout_width="20dp"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:layout_marginTop="55dp">

    </android.support.v7.widget.RecyclerView>

    <TextView
        android:id="@+id/tvLoading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="數據加載中,請稍後..." />
</FrameLayout>

//修改只有字母的條目的佈局    item_letter.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tv"
    android:layout_width="match_parent"
    android:layout_height="25dp"
    android:background="#D9D9D9"
    android:gravity="center_vertical"
    android:paddingLeft="16dp"
    android:textColor="#505050"
    android:textSize="15sp" />

//修改展示圖片,名稱,電話前綴的佈局  item_lt_country.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="30dp">

    <ImageView
        android:id="@+id/iv"
        android:layout_width="21dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="16dp" />

    <TextView
        android:id="@+id/tvName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="52dp"
        android:textSize="15sp" />

    <TextView
        android:id="@+id/tvPhone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right|center_vertical"
        android:layout_marginRight="16dp"
        android:textSize="15sp" />

</FrameLayout>

//修改最右邊字母的佈局   item_lt_country_right.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="@color/lt_select_country_tv_color"
    android:textSize="16dp" />

結語

這樣就ok了,可能自定義的方法比較奇葩(或者說比較懶..),有的人會不習慣

可能有人會說爲什麼數據不用json,爲什麼不用pinyin4j,而是手動加上首拼音,這樣是爲了減少一個解析json的jar包和獲取拼音的jar包,減少體積(圖片是用的原生加載,不過圖片都比較小,差別不大,當然自定義的圖片需要控制圖片不要過大)

有bug可以直接評論反饋

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