文档章节

APP换肤思路和ListView的item点击

fantasiter
 fantasiter
发布于 2015/02/13 21:26
字数 478
阅读 441
收藏 5

好久没写博客了,看着每个月更两篇更三篇的节奏,感觉自己没救了~打算以后每个星期两篇,压力好大的说。。雅蠛蝶~~ 现在在做的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

© 著作权归作者所有

共有 人打赏支持
fantasiter
粉丝 1
博文 116
码字总数 24736
作品 0
青岛
Android 实用技巧知识合集(持续更新)

Google 和 Baidu 常用的搜索技巧 1. 例子源码永久更新 http://www.javaapk.com/demo 2. 实战知识库 http://wuxiaolong.me/2015/08/10/android-small-knowledge-base/ 3. Android学习资源大整......

jdfkldjlkjdl
2017/05/19
0
0
高仿微信对话列表滑动删除效果

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17515543 前言 用过微信的都知道,微信对话列表滑动删除效果是很不错的,这个效果我们也可以有。思路其实很简单,弄个...

长平狐
2013/12/25
6.6K
1
FlipViewPager 对item实现左右对折滑动翻页效果《IT蓝豹》

FlipViewPager 对item实现左右对折滑动翻页效果 《FlipViewPager 对每一条item实现左右对折滑动翻页效果》,解决左右滑动和上下滑动的事件分发处理机制。 内部实现如下:用ListView试下,对l...

抉择很难
2015/10/14
231
0
Android社区类APP一般用何种方法显示论坛帖子详情页面?(如百度贴吧、汽车之家、豆瓣小组)

需求 : 1、帖子是图文混排的,图片是滑动加载,滑到哪加载到哪 ,未滑到的就显示默认图片。 2、一层楼的帖子图片在100-300张之间。 3、支持发帖、回帖、翻页等操作。 请问,在android app里...

雨夜知隋
2014/03/29
585
2
关于listview数据错乱的问题

@Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView==null){ holder = new ViewHolder(); convertView = LayoutInflater.from(ContactActi......

白衣非他
2015/08/14
80
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里P8架构师深度概述分布式架构

简介 作为一名架构师,我们要专业,要能看懂代码,及时光着臂膀去机房,也能独挡一面!及时同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室上滔滔不绝...

java知识分子
17分钟前
0
0
zabbix利用自带的模板监控mysql数据库

zabbix利用自带的模板监控mysql数据库                                     作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 有些东...

linjin200
23分钟前
0
0
当刷新的Sandbox后,需要重新发布社区

当刷新的Sandbox后,需要重新发布社区 然后在登录页面设置中选择login/forgot password

在山的那边
24分钟前
0
0
Ubuntu 镜像文件下载

https://www.ubuntu.com/download/desktop

15834278076
28分钟前
0
0
解决php -v查看到版本于phpinfo()打印的版本不一致问题

一般造成这种原因可能是升级或多版本 用php -v 和phpinfo()查出来版本不一致,怎么解决呢 编辑/etc/profile文件在最后一行添加一个环境变量: export PATH="/usr/local/php/bin:$PATH" 最后保...

xiaogg
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部