国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現動態切換組件背景的方法

2020-02-21 17:28:28
字體:
來源:轉載
供稿:網友

Android開發中,一些控件通常是動態生成的,它們的布局也會被調整,那么Android實現動態切換組件背景的方法,大家了解嗎?有興趣的朋友可以參考武林技術頻道小編為大家帶來的介紹。
為實現這一要求,就需要用到安卓中的SharedPrefence的功能,首先在設置里面寫一個控件,設置一個點擊監聽器,點擊的時候顯示一個Alert選擇彈窗,讓你進行選擇,對這個彈窗再設置一個點擊監聽器(onItemListener),點擊到具體某個的時候,把對應的點擊id保存到sahredprefence里面去,這樣,其他地方就可以從這里取得設置里選擇的值,進行動態個性化處理。

具體代碼如下:

1.設置選擇的操作:

scv_setAddressBg.setOnClickListener(new OnClickListener() {             @Override      public void onClick(View v) {        int which = sp.getInt("which", 0);        final String[] items = {"半透明","活力橙","衛士藍","金屬灰","蘋果綠"};        AlertDialog.Builder builder = new Builder(SettingActivity.this);        builder.setTitle("設置歸屬地顯示背景");        builder.setSingleChoiceItems(items, which, new DialogInterface.OnClickListener() {                     @Override          public void onClick(DialogInterface dialog, int which) {            Editor edit = sp.edit();            edit.putInt("which", which);            edit.commit();            scv_setAddressBg.setDesc(items[which]);            dialog.dismiss();          }        });        builder.setNegativeButton("取消", null);        builder.show();      }    });

2.顯示自定義吐司的操作:

public void showMyToast(String address) {    <span style="color:#ff6600;">int[] ids = {R.drawable.call_locate_white,R.drawable.call_locate_orange,R.drawable.call_locate_blue        ,R.drawable.call_locate_gray,R.drawable.call_locate_green};</span>    <span style="color:#ff6600;">SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);    int which = sp.getInt("which", 1);</span>    view = View.inflate(this, R.layout.address_show, null);    TextView textView = (TextView) view.findViewById(R.id.tv_address);    textView.setText(address);    <span style="color:#ff6600;">view.setBackgroundResource(ids[which]);</span>         WindowManager.LayoutParams params = new WindowManager.LayoutParams();    params.height = WindowManager.LayoutParams.WRAP_CONTENT;    params.width = WindowManager.LayoutParams.WRAP_CONTENT;    params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE         | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE         | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;    params.format = PixelFormat.TRANSLUCENT;    params.type = WindowManager.LayoutParams.TYPE_TOAST;     wm.addView(view, params);  }

3.歸納總結如下:

(1)要注意數組的應用,ids[ value]這種使用方式要能想到用,將圖片資源文件寫在一個ids數組里是個很好的方式和想法。
(2)細心,獲得sp的時候名字寫錯了,config寫成了configs。
(3)理解調試技巧是靠經驗和邏輯推理的,都很重要。

以上就是Android實現動態切換組件背景的方法,相信這篇文章對程序員是非常有用的,建議你可以收藏,更多的專業知識請關注武林技術頻道!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天等县| 岗巴县| 和龙市| 南昌县| 平江县| 巴东县| 洛阳市| 深水埗区| 安溪县| 金山区| 黄冈市| 类乌齐县| 文水县| 宁海县| 肃南| 特克斯县| 大姚县| 枝江市| 东台市| 旬邑县| 台前县| 白河县| 罗平县| 开原市| 嘉鱼县| 新干县| 年辖:市辖区| 尚义县| 抚顺市| 金寨县| 白沙| 土默特右旗| 南川市| 朝阳县| 宁乡县| 铜川市| 永和县| 伊通| 新乐市| 全椒县| 晋州市|