文档章节

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
关于listview数据错乱的问题

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

白衣非他
2015/08/14
84
0
FlipViewPager 对item实现左右对折滑动翻页效果《IT蓝豹》

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

抉择很难
2015/10/14
231
0
高仿微信对话列表滑动删除效果

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

长平狐
2013/12/25
6.8K
1
Android社区类APP一般用何种方法显示论坛帖子详情页面?(如百度贴吧、汽车之家、豆瓣小组)

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

雨夜知隋
2014/03/29
667
2

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
11分钟前
0
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
52分钟前
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部