APP换肤思路和ListView的item点击
APP换肤思路和ListView的item点击
fantasiter 发表于3年前
APP换肤思路和ListView的item点击
  • 发表于 3年前
  • 阅读 430
  • 收藏 5
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: APP换肤 ListView点击实现CheckBox单选效果

好久没写博客了,看着每个月更两篇更三篇的节奏,感觉自己没救了~打算以后每个星期两篇,压力好大的说。。雅蠛蝶~~ 现在在做的APP简直惊悚,是个网易+微博+百度地图+微信的加强版本,一个月能搞出个Demo,我真是给现在的同事和不靠谱的甲方下个跪Orz

言归正传,现在在做的APP需要实现点击换肤的效果,类似网易云音乐的红黑皮肤切换的效果(当然此处是简化了,当前在做的APP只有标题栏和侧边栏的皮肤颜色需要切换,与黑夜白天模式切换不一样,那个复杂)。先说下思路,可以用Android自带SharedPreferences来实现,设置默认红色皮肤存储0,设置黑色皮肤 存储1。 下面开始撸代码: 我写了一个工具类,可以用来判断当前的皮肤模式,并且实现切换

<!-- lang: java -->
//工具类
public class skinMode
{
        private Context context;
        private SharedPreferences skinMode;
        public SkinMode(Context context)
        {
                skinMode = context.getSharedPreferences();
        }
        //获得皮肤模式,0代表默认红色,1代表黑色
        public int getSkinMode()
        {
                return skinMode.getSharedPreferences("skinmode",0);
        }
        //设置皮肤模式
        public void setSkinMode(int skinMode)
        {
                skinMode.put("skinmode",skinMode);
        }
        public void setViewSkinMode(View view,int skinMode)
        {
                if(0==skinMode)
                {
                    setSkinMode(skinMode);   //模式切换
                    view.setBackgroundColor(Color.RED);//设置颜色
                }
                else if(1==skinMode)
                {
                    setSkinMode(skinMode);
                    view.setBackgroundColor(Corlor.BLACK);
                }
        }
}

白天黑夜模式切换还牵扯字体的变换,控件的透明度等,比较复杂,这个我还做不了~

另一个问题是,点击GridView的item的时候,实现类似Checkbox的单选效果,这个比较简单。 代码实现如下:

<!-- lang: java -->
gridview.setOnItemClickListener(new OnItemClickListener( AdapterView view,View view,int position,long id)
{
        for(int i=0;i<gridview.getChildCount();i++)
        {
            TextView tv = (TextView)gridview.getChildAt(i);
            tv.setBackroundColor(color.Black);  // 默认是黑色
        }
        view.setBackgroundColor(color.Red);//点击后是红色
}

)

Thats ALL

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 109
码字总数 23997
×
fantasiter
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: