当前位置:  编程技术>移动开发

Android实现动态切换组件背景的方法

    来源: 互联网  发布时间:2014-10-25

    本文导语:  本文所述的程序实现的功能为在软件中动态的选择组件背景,系统皮肤,自定义吐司背景等。 为实现这一要求,就需要用到安卓中的SharedPrefence的功能,首先在设置里面写一个控件,设置一个点击监听器,点击的时候显示一个...

本文所述的程序实现的功能为在软件中动态的选择组件背景,系统皮肤,自定义吐司背景等。
为实现这一要求,就需要用到安卓中的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) {
    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};
    SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
    int which = sp.getInt("which", 1);
    view = View.inflate(this, R.layout.address_show, null);
    TextView textView = (TextView) view.findViewById(R.id.tv_address);
    textView.setText(address);
    view.setBackgroundResource(ids[which]);
     
    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的UI组件库 DroidUX
  • Android 组件库 CWAC
  • Android组件界面设计工具 DroidDraw
  • Android 组件库 DroidParts
  • android开发教程之view组件添加边框示例
  • Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
  • Android的Service应用程序组件基本编写方法
  • Android开发之时间日期组件用法实例
  • android Gallery组件实现的iPhone图片滑动效果实例
  • Android图片轮播组件(多模式) android-image-indicator
  • Android开源组件小结
  • android WebView组件使用总结
  • android RadioButton和CheckBox组件的使用方法
  • Android Service(不和用户交互应用组件)案例分析
  • 深入理解Android组件间通信机制对面向对象特性的影响详解
  • Android开发之WebView组件的使用解析
  • Android组件间通信--深入理解Intent与IntentFilter
  • android开启免提切换功能示例
  • Android Activity切换(跳转)时出现黑屏的解决方法 分享
  • 解析Android横竖屏切换的问题
  • android fm单体声和立体声的切换示例代码
  • android横竖屏切换不重启activity解决方案
  • Android实现Activity界面切换添加动画特效的方法
  • android横竖屏切换时候Activity的生命周期
  • android播放视频时在立体声与单声道之间切换无变化原因分析及解决
  • 认认真真发一次,framebuffer 切换问题!!Android平台
  • android实现在横竖屏切换时页面信息不被重置的示例分享
  • Android 组件库 CWAC iis7站长之家
  • Android TabWidget切换卡的实现应用
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • android 自定义Android菜单背景的代码
  • Android设置桌面背景图片的实现方法
  • Android TextView设置背景色与边框的方法详解
  • android实现背景平铺的三种方法
  • Android selector背景选择器的使用详解
  • Android ListView的item背景色设置和item点击无响应的解决方法
  • 基于android背景选择器selector的用法汇总
  • android 自定义ScrollView实现背景图片伸缩的实现代码及思路
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3