首页 » 技术分享 » 支持中英文和国旗的android国家代码/国际电话区号选择器

支持中英文和国旗的android国家代码/国际电话区号选择器

 

原文

https://www.cnblogs.com/chuibai/p/8032214.html

国外手机号注册和登录,所以就涉及到国际电话区号的选择。在github上面找了一下,国家名称基本都是只有英文版本,而手动的去把中文一个个加上实在是一件费时费力的事情,所以就写了一段简单的java代码,抓取了某快递网站的数据转换成json格式,以下是处理后的数据

[
  {
    "en": "Angola",
    "zh": "安哥拉",
    "locale": "AO",
    "code": 244
  },
  {
    "en": "Afghanistan",
    "zh": "阿富汗",
    "locale": "AF",
    "code": 93
  },
  {
    "en": "Albania",
    "zh": "阿尔巴尼亚",
    "locale": "AL",
    "code": 355
  },
  {
    "en": "Algeria",
    "zh": "阿尔及利亚",
    "locale": "DZ",
    "code": 213
  },
  {
    "en": "Andorra",
    "zh": "安道尔共和国",
    "locale": "AD",
    "code": 376
  },
  {
    "en": "Anguilla",
    "zh": "安圭拉岛",
    "locale": "AI",
    "code": 1264
  },
  {
    "en": "Antigua and Barbuda",
    "zh": "安提瓜和巴布达",
    "locale": "AG",
    "code": 1268
  },
  {
    "en": "Argentina",
    "zh": "阿根廷",
    "locale": "AR",
    "code": 54
  },
  {
    "en": "Armenia",
    "zh": "亚美尼亚",
    "locale": "AM",
    "code": 374
  },
  {
    "en": "Ascension",
    "zh": "阿森松",
    "locale": " ",
    "code": 247
  },
  {
    "en": "Australia",
    "zh": "澳大利亚",
    "locale": "AU",
    "code": 61
  },
  {
    "en": "Austria",
    "zh": "奥地利",
    "locale": "AT",
    "code": 43
  },
  {
    "en": "Azerbaijan",
    "zh": "阿塞拜疆",
    "locale": "AZ",
    "code": 994
  },
  {
    "en": "Bahamas",
    "zh": "巴哈马",
    "locale": "BS",
    "code": 1242
  },
  {
    "en": "Bahrain",
    "zh": "巴林",
    "locale": "BH",
    "code": 973
  },
  {
    "en": "Bangladesh",
    "zh": "孟加拉国",
    "locale": "BD",
    "code": 880
  },
  {
    "en": "Barbados",
    "zh": "巴巴多斯",
    "locale": "BB",
    "code": 1246
  },
  {
    "en": "Belarus",
    "zh": "白俄罗斯",
    "locale": "BY",
    "code": 375
  },
  {
    "en": "Belgium",
    "zh": "比利时",
    "locale": "BE",
    "code": 32
  },
  {
    "en": "Belize",
    "zh": "伯利兹",
    "locale": "BZ",
    "code": 501
  },
  {
    "en": "Benin",
    "zh": "贝宁",
    "locale": "BJ",
    "code": 229
  },
  {
    "en": "Bermuda Is.",
    "zh": "百慕大群岛",
    "locale": "BM",
    "code": 1441
  },
  {
    "en": "Bolivia",
    "zh": "玻利维亚",
    "locale": "BO",
    "code": 591
  },
  {
    "en": "Botswana",
    "zh": "博茨瓦纳",
    "locale": "BW",
    "code": 267
  },
  {
    "en": "Brazil",
    "zh": "巴西",
    "locale": "BR",
    "code": 55
  },
  {
    "en": "Brunei",
    "zh": "文莱",
    "locale": "BN",
    "code": 673
  },
  {
    "en": "Bulgaria",
    "zh": "保加利亚",
    "locale": "BG",
    "code": 359
  },
  {
    "en": "Burkina-faso",
    "zh": "布基纳法索",
    "locale": "BF",
    "code": 226
  },
  {
    "en": "Burma",
    "zh": "缅甸",
    "locale": "MM",
    "code": 95
  },
  {
    "en": "Burundi",
    "zh": "布隆迪",
    "locale": "BI",
    "code": 257
  },
  {
    "en": "Cameroon",
    "zh": "喀麦隆",
    "locale": "CM",
    "code": 237
  },
  {
    "en": "Canada",
    "zh": "加拿大",
    "locale": "CA",
    "code": 1
  },
  {
    "en": "Cayman Is.",
    "zh": "开曼群岛",
    "locale": " ",
    "code": 1345
  },
  {
    "en": "Central African Republic",
    "zh": "中非共和国",
    "locale": "CF",
    "code": 236
  },
  {
    "en": "Chad",
    "zh": "乍得",
    "locale": "TD",
    "code": 235
  },
  {
    "en": "Chile",
    "zh": "智利",
    "locale": "CL",
    "code": 56
  },
  {
    "en": "China",
    "zh": "中国",
    "locale": "CN",
    "code": 86
  },
  {
    "en": "Colombia",
    "zh": "哥伦比亚",
    "locale": "CO",
    "code": 57
  },
  {
    "en": "Congo",
    "zh": "刚果",
    "locale": "CG",
    "code": 242
  },
  {
    "en": "Cook Is.",
    "zh": "库克群岛",
    "locale": "CK",
    "code": 682
  },
  {
    "en": "Costa Rica",
    "zh": "哥斯达黎加",
    "locale": "CR",
    "code": 506
  },
  {
    "en": "Cuba",
    "zh": "古巴",
    "locale": "CU",
    "code": 53
  },
  {
    "en": "Cyprus",
    "zh": "塞浦路斯",
    "locale": "CY",
    "code": 357
  },
  {
    "en": "Czech Republic",
    "zh": "捷克",
    "locale": "CZ",
    "code": 420
  },
  {
    "en": "Denmark",
    "zh": "丹麦",
    "locale": "DK",
    "code": 45
  },
  {
    "en": "Djibouti",
    "zh": "吉布提",
    "locale": "DJ",
    "code": 253
  },
  {
    "en": "Dominica Rep.",
    "zh": "多米尼加共和国",
    "locale": "DO",
    "code": 1890
  },
  {
    "en": "Ecuador",
    "zh": "厄瓜多尔",
    "locale": "EC",
    "code": 593
  },
  {
    "en": "Egypt",
    "zh": "埃及",
    "locale": "EG",
    "code": 20
  },
  {
    "en": "EI Salvador",
    "zh": "萨尔瓦多",
    "locale": "SV",
    "code": 503
  },
  {
    "en": "Estonia",
    "zh": "爱沙尼亚",
    "locale": "EE",
    "code": 372
  },
  {
    "en": "Ethiopia",
    "zh": "埃塞俄比亚",
    "locale": "ET",
    "code": 251
  },
  {
    "en": "Fiji",
    "zh": "斐济",
    "locale": "FJ",
    "code": 679
  },
  {
    "en": "Finland",
    "zh": "芬兰",
    "locale": "FI",
    "code": 358
  },
  {
    "en": "France",
    "zh": "法国",
    "locale": "FR",
    "code": 33
  },
  {
    "en": "French Guiana",
    "zh": "法属圭亚那",
    "locale": "GF",
    "code": 594
  },
  {
    "en": "Gabon",
    "zh": "加蓬",
    "locale": "GA",
    "code": 241
  },
  {
    "en": "Gambia",
    "zh": "冈比亚",
    "locale": "GM",
    "code": 220
  },
  {
    "en": "Georgia",
    "zh": "格鲁吉亚",
    "locale": "GE",
    "code": 995
  },
  {
    "en": "Germany",
    "zh": "德国",
    "locale": "DE",
    "code": 49
  },
  {
    "en": "Ghana",
    "zh": "加纳",
    "locale": "GH",
    "code": 233
  },
  {
    "en": "Gibraltar",
    "zh": "直布罗陀",
    "locale": "GI",
    "code": 350
  },
  {
    "en": "Greece",
    "zh": "希腊",
    "locale": "GR",
    "code": 30
  },
  {
    "en": "Grenada",
    "zh": "格林纳达",
    "locale": "GD",
    "code": 1809
  },
  {
    "en": "Guam",
    "zh": "关岛",
    "locale": "GU",
    "code": 1671
  },
  {
    "en": "Guatemala",
    "zh": "危地马拉",
    "locale": "GT",
    "code": 502
  },
  {
    "en": "Guinea",
    "zh": "几内亚",
    "locale": "GN",
    "code": 224
  },
  {
    "en": "Guyana",
    "zh": "圭亚那",
    "locale": "GY",
    "code": 592
  },
  {
    "en": "Haiti",
    "zh": "海地",
    "locale": "HT",
    "code": 509
  },
  {
    "en": "Honduras",
    "zh": "洪都拉斯",
    "locale": "HN",
    "code": 504
  },
  {
    "en": "Hongkong",
    "zh": "香港",
    "locale": "HK",
    "code": 852
  },
  {
    "en": "Hungary",
    "zh": "匈牙利",
    "locale": "HU",
    "code": 36
  },
  {
    "en": "Iceland",
    "zh": "冰岛",
    "locale": "IS",
    "code": 354
  },
  {
    "en": "India",
    "zh": "印度",
    "locale": "IN",
    "code": 91
  },
  {
    "en": "Indonesia",
    "zh": "印度尼西亚",
    "locale": "ID",
    "code": 62
  },
  {
    "en": "Iran",
    "zh": "伊朗",
    "locale": "IR",
    "code": 98
  },
  {
    "en": "Iraq",
    "zh": "伊拉克",
    "locale": "IQ",
    "code": 964
  },
  {
    "en": "Ireland",
    "zh": "爱尔兰",
    "locale": "IE",
    "code": 353
  },
  {
    "en": "Israel",
    "zh": "以色列",
    "locale": "IL",
    "code": 972
  },
  {
    "en": "Italy",
    "zh": "意大利",
    "locale": "IT",
    "code": 39
  },
  {
    "en": "Ivory Coast",
    "zh": "科特迪瓦",
    "locale": " ",
    "code": 225
  },
  {
    "en": "Jamaica",
    "zh": "牙买加",
    "locale": "JM",
    "code": 1876
  },
  {
    "en": "Japan",
    "zh": "日本",
    "locale": "JP",
    "code": 81
  },
  {
    "en": "Jordan",
    "zh": "约旦",
    "locale": "JO",
    "code": 962
  },
  {
    "en": "Kampuchea (Cambodia )",
    "zh": "柬埔寨",
    "locale": "KH",
    "code": 855
  },
  {
    "en": "Kazakstan",
    "zh": "哈萨克斯坦",
    "locale": "KZ",
    "code": 327
  },
  {
    "en": "Kenya",
    "zh": "肯尼亚",
    "locale": "KE",
    "code": 254
  },
  {
    "en": "Korea",
    "zh": "韩国",
    "locale": "KR",
    "code": 82
  },
  {
    "en": "Kuwait",
    "zh": "科威特",
    "locale": "KW",
    "code": 965
  },
  {
    "en": "Kyrgyzstan",
    "zh": "吉尔吉斯坦",
    "locale": "KG",
    "code": 331
  },
  {
    "en": "Laos",
    "zh": "老挝",
    "locale": "LA",
    "code": 856
  },
  {
    "en": "Latvia",
    "zh": "拉脱维亚",
    "locale": "LV",
    "code": 371
  },
  {
    "en": "Lebanon",
    "zh": "黎巴嫩",
    "locale": "LB",
    "code": 961
  },
  {
    "en": "Lesotho",
    "zh": "莱索托",
    "locale": "LS",
    "code": 266
  },
  {
    "en": "Liberia",
    "zh": "利比里亚",
    "locale": "LR",
    "code": 231
  },
  {
    "en": "Libya",
    "zh": "利比亚",
    "locale": "LY",
    "code": 218
  },
  {
    "en": "Liechtenstein",
    "zh": "列支敦士登",
    "locale": "LI",
    "code": 423
  },
  {
    "en": "Lithuania",
    "zh": "立陶宛",
    "locale": "LT",
    "code": 370
  },
  {
    "en": "Luxembourg",
    "zh": "卢森堡",
    "locale": "LU",
    "code": 352
  },
  {
    "en": "Macao",
    "zh": "澳门",
    "locale": "MO",
    "code": 853
  },
  {
    "en": "Madagascar",
    "zh": "马达加斯加",
    "locale": "MG",
    "code": 261
  },
  {
    "en": "Malawi",
    "zh": "马拉维",
    "locale": "MW",
    "code": 265
  },
  {
    "en": "Malaysia",
    "zh": "马来西亚",
    "locale": "MY",
    "code": 60
  },
  {
    "en": "Maldives",
    "zh": "马尔代夫",
    "locale": "MV",
    "code": 960
  },
  {
    "en": "Mali",
    "zh": "马里",
    "locale": "ML",
    "code": 223
  },
  {
    "en": "Malta",
    "zh": "马耳他",
    "locale": "MT",
    "code": 356
  },
  {
    "en": "Mariana Is",
    "zh": "马里亚那群岛",
    "locale": " ",
    "code": 1670
  },
  {
    "en": "Martinique",
    "zh": "马提尼克",
    "locale": " ",
    "code": 596
  },
  {
    "en": "Mauritius",
    "zh": "毛里求斯",
    "locale": "MU",
    "code": 230
  },
  {
    "en": "Mexico",
    "zh": "墨西哥",
    "locale": "MX",
    "code": 52
  },
  {
    "en": "Moldova, Republic of",
    "zh": "摩尔多瓦",
    "locale": "MD",
    "code": 373
  },
  {
    "en": "Monaco",
    "zh": "摩纳哥",
    "locale": "MC",
    "code": 377
  },
  {
    "en": "Mongolia",
    "zh": "蒙古",
    "locale": "MN",
    "code": 976
  },
  {
    "en": "Montserrat Is",
    "zh": "蒙特塞拉特岛",
    "locale": "MS",
    "code": 1664
  },
  {
    "en": "Morocco",
    "zh": "摩洛哥",
    "locale": "MA",
    "code": 212
  },
  {
    "en": "Mozambique",
    "zh": "莫桑比克",
    "locale": "MZ",
    "code": 258
  },
  {
    "en": "Namibia",
    "zh": "纳米比亚",
    "locale": "NA",
    "code": 264
  },
  {
    "en": "Nauru",
    "zh": "瑙鲁",
    "locale": "NR",
    "code": 674
  },
  {
    "en": "Nepal",
    "zh": "尼泊尔",
    "locale": "NP",
    "code": 977
  },
  {
    "en": "Netheriands Antilles",
    "zh": "荷属安的列斯",
    "locale": " ",
    "code": 599
  },
  {
    "en": "Netherlands",
    "zh": "荷兰",
    "locale": "NL",
    "code": 31
  },
  {
    "en": "New Zealand",
    "zh": "新西兰",
    "locale": "NZ",
    "code": 64
  },
  {
    "en": "Nicaragua",
    "zh": "尼加拉瓜",
    "locale": "NI",
    "code": 505
  },
  {
    "en": "Niger",
    "zh": "尼日尔",
    "locale": "NE",
    "code": 227
  },
  {
    "en": "Nigeria",
    "zh": "尼日利亚",
    "locale": "NG",
    "code": 234
  },
  {
    "en": "North Korea",
    "zh": "朝鲜",
    "locale": "KP",
    "code": 850
  },
  {
    "en": "Norway",
    "zh": "挪威",
    "locale": "NO",
    "code": 47
  },
  {
    "en": "Oman",
    "zh": "阿曼",
    "locale": "OM",
    "code": 968
  },
  {
    "en": "Pakistan",
    "zh": "巴基斯坦",
    "locale": "PK",
    "code": 92
  },
  {
    "en": "Panama",
    "zh": "巴拿马",
    "locale": "PA",
    "code": 507
  },
  {
    "en": "Papua New Cuinea",
    "zh": "巴布亚新几内亚",
    "locale": "PG",
    "code": 675
  },
  {
    "en": "Paraguay",
    "zh": "巴拉圭",
    "locale": "PY",
    "code": 595
  },
  {
    "en": "Peru",
    "zh": "秘鲁",
    "locale": "PE",
    "code": 51
  },
  {
    "en": "Philippines",
    "zh": "菲律宾",
    "locale": "PH",
    "code": 63
  },
  {
    "en": "Poland",
    "zh": "波兰",
    "locale": "PL",
    "code": 48
  },
  {
    "en": "French Polynesia",
    "zh": "法属玻利尼西亚",
    "locale": "PF",
    "code": 689
  },
  {
    "en": "Portugal",
    "zh": "葡萄牙",
    "locale": "PT",
    "code": 351
  },
  {
    "en": "Puerto Rico",
    "zh": "波多黎各",
    "locale": "PR",
    "code": 1787
  },
  {
    "en": "Qatar",
    "zh": "卡塔尔",
    "locale": "QA",
    "code": 974
  },
  {
    "en": "Reunion",
    "zh": "留尼旺",
    "locale": " ",
    "code": 262
  },
  {
    "en": "Romania",
    "zh": "罗马尼亚",
    "locale": "RO",
    "code": 40
  },
  {
    "en": "Russia",
    "zh": "俄罗斯",
    "locale": "RU",
    "code": 7
  },
  {
    "en": "Saint Lueia",
    "zh": "圣卢西亚",
    "locale": "LC",
    "code": 1758
  },
  {
    "en": "Saint Vincent",
    "zh": "圣文森特岛",
    "locale": "VC",
    "code": 1784
  },
  {
    "en": "Samoa Eastern",
    "zh": "东萨摩亚(美)",
    "locale": " ",
    "code": 684
  },
  {
    "en": "Samoa Western",
    "zh": "西萨摩亚",
    "locale": " ",
    "code": 685
  },
  {
    "en": "San Marino",
    "zh": "圣马力诺",
    "locale": "SM",
    "code": 378
  },
  {
    "en": "Sao Tome and Principe",
    "zh": "圣多美和普林西比",
    "locale": "ST",
    "code": 239
  },
  {
    "en": "Saudi Arabia",
    "zh": "沙特阿拉伯",
    "locale": "SA",
    "code": 966
  },
  {
    "en": "Senegal",
    "zh": "塞内加尔",
    "locale": "SN",
    "code": 221
  },
  {
    "en": "Seychelles",
    "zh": "塞舌尔",
    "locale": "SC",
    "code": 248
  },
  {
    "en": "Sierra Leone",
    "zh": "塞拉利昂",
    "locale": "SL",
    "code": 232
  },
  {
    "en": "Singapore",
    "zh": "新加坡",
    "locale": "SG",
    "code": 65
  },
  {
    "en": "Slovakia",
    "zh": "斯洛伐克",
    "locale": "SK",
    "code": 421
  },
  {
    "en": "Slovenia",
    "zh": "斯洛文尼亚",
    "locale": "SI",
    "code": 386
  },
  {
    "en": "Solomon Is",
    "zh": "所罗门群岛",
    "locale": "SB",
    "code": 677
  },
  {
    "en": "Somali",
    "zh": "索马里",
    "locale": "SO",
    "code": 252
  },
  {
    "en": "South Africa",
    "zh": "南非",
    "locale": "ZA",
    "code": 27
  },
  {
    "en": "Spain",
    "zh": "西班牙",
    "locale": "ES",
    "code": 34
  },
  {
    "en": "Sri Lanka",
    "zh": "斯里兰卡",
    "locale": "LK",
    "code": 94
  },
  {
    "en": "St.Lucia",
    "zh": "圣卢西亚",
    "locale": "LC",
    "code": 1758
  },
  {
    "en": "St.Vincent",
    "zh": "圣文森特",
    "locale": "VC",
    "code": 1784
  },
  {
    "en": "Sudan",
    "zh": "苏丹",
    "locale": "SD",
    "code": 249
  },
  {
    "en": "Suriname",
    "zh": "苏里南",
    "locale": "SR",
    "code": 597
  },
  {
    "en": "Swaziland",
    "zh": "斯威士兰",
    "locale": "SZ",
    "code": 268
  },
  {
    "en": "Sweden",
    "zh": "瑞典",
    "locale": "SE",
    "code": 46
  },
  {
    "en": "Switzerland",
    "zh": "瑞士",
    "locale": "CH",
    "code": 41
  },
  {
    "en": "Syria",
    "zh": "叙利亚",
    "locale": "SY",
    "code": 963
  },
  {
    "en": "Taiwan",
    "zh": "台湾省",
    "locale": "TW",
    "code": 886
  },
  {
    "en": "Tajikstan",
    "zh": "塔吉克斯坦",
    "locale": "TJ",
    "code": 992
  },
  {
    "en": "Tanzania",
    "zh": "坦桑尼亚",
    "locale": "TZ",
    "code": 255
  },
  {
    "en": "Thailand",
    "zh": "泰国",
    "locale": "TH",
    "code": 66
  },
  {
    "en": "Togo",
    "zh": "多哥",
    "locale": "TG",
    "code": 228
  },
  {
    "en": "Tonga",
    "zh": "汤加",
    "locale": "TO",
    "code": 676
  },
  {
    "en": "Trinidad and Tobago",
    "zh": "特立尼达和多巴哥",
    "locale": "TT",
    "code": 1809
  },
  {
    "en": "Tunisia",
    "zh": "突尼斯",
    "locale": "TN",
    "code": 216
  },
  {
    "en": "Turkey",
    "zh": "土耳其",
    "locale": "TR",
    "code": 90
  },
  {
    "en": "Turkmenistan",
    "zh": "土库曼斯坦",
    "locale": "TM",
    "code": 993
  },
  {
    "en": "Uganda",
    "zh": "乌干达",
    "locale": "UG",
    "code": 256
  },
  {
    "en": "Ukraine",
    "zh": "乌克兰",
    "locale": "UA",
    "code": 380
  },
  {
    "en": "United Arab Emirates",
    "zh": "阿拉伯联合酋长国",
    "locale": "AE",
    "code": 971
  },
  {
    "en": "United Kiongdom",
    "zh": "英国",
    "locale": "GB",
    "code": 44
  },
  {
    "en": "United States of America",
    "zh": "美国",
    "locale": "US",
    "code": 1
  },
  {
    "en": "Uruguay",
    "zh": "乌拉圭",
    "locale": "UY",
    "code": 598
  },
  {
    "en": "Uzbekistan",
    "zh": "乌兹别克斯坦",
    "locale": "UZ",
    "code": 233
  },
  {
    "en": "Venezuela",
    "zh": "委内瑞拉",
    "locale": "VE",
    "code": 58
  },
  {
    "en": "Vietnam",
    "zh": "越南",
    "locale": "VN",
    "code": 84
  },
  {
    "en": "Yemen",
    "zh": "也门",
    "locale": "YE",
    "code": 967
  },
  {
    "en": "Yugoslavia",
    "zh": "南斯拉夫",
    "locale": "YU",
    "code": 381
  },
  {
    "en": "Zimbabwe",
    "zh": "津巴布韦",
    "locale": "ZW",
    "code": 263
  },
  {
    "en": "Zaire",
    "zh": "扎伊尔",
    "locale": "ZR",
    "code": 243
  },
  {
    "en": "Zambia",
    "zh": "赞比亚",
    "locale": "ZM",
    "code": 260
  }
]

使用

public class MainActivity extends AppCompatActivity {
    private ImageView ivFlag;
    private TextView tvName;
    private TextView tvCode;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ivFlag = (ImageView) findViewById(R.id.iv_flag);
        tvName = (TextView) findViewById(R.id.tv_name);
        tvCode = (TextView) findViewById(R.id.tv_code);
    }
    public void click(View view) {
        CountryPicker.newInstance(null, new OnPick() {
            @Override
            public void onPick(Country country) {
                if(country.flag != 0) ivFlag.setImageResource(country.flag);
                tvName.setText(country.name);
                tvCode.setText("+" + country.code);
            }
        }).show(getSupportFragmentManager(), "country");
    }
    @Override
    protected void onDestroy() {
        Country.destroy();
        super.onDestroy();
    }
}

转载自原文链接, 如需删除请联系管理员。

原文链接:支持中英文和国旗的android国家代码/国际电话区号选择器,转载请注明来源!

0