文档章节

APP换肤思路和ListView的item点击

fantasiter
 fantasiter
发布于 2015/02/13 21:26
字数 478
阅读 438
收藏 5
点赞 0
评论 0

好久没写博客了,看着每个月更两篇更三篇的节奏,感觉自己没救了~打算以后每个星期两篇,压力好大的说。。雅蠛蝶~~ 现在在做的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
博文 115
码字总数 24535
作品 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
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.6K
1
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
商城购物车加减控件的简单封装(续),解决ListView中数据错乱的问题

在上一篇文章中,我们学习了商城购物车加减控件的简单封装,知道了封装的思路过程和使用方法。还没有看过上一篇文章的朋友,建议先去阅读 商城购物车加减控件的简单封装 。这段时间收到一些小...

sinat_36668731
2017/08/17
0
0
滑动事件总结(刷新,加载更多,嵌套滑动)

下拉刷新 在Api21之前,ListView和GridView的使用相当普遍,包括下拉刷新我们也可以使用它,利用他的addHeaderView()和addFooterView()方法,或者使用父级中隐藏View的方式来实现; 在A...

卐字旗下的余晖
2016/06/07
101
0
webpack构建下换肤功能的实现思路

最近项目中要实现一个换肤的功能,大体想了下,记录一下思路 要实现换肤功能,目标就是打包生成多份皮肤文件,需要哪个就用哪个 打包生成多份皮肤文件 因为项目是使用webpack构建的,要想生成...

xiyuyizhi
2017/11/27
0
0
Android第四十天

1、ListView分页加载 <1>分页的作用 (1)避免一次性加载过多内容时,造成内存溢出; (2)可以增强用户体验。 <2>实现思路 (1)当滚动到最后一条的时候,加载新数据; (2)适配器的数据源...

黄晓磊
2016/07/23
24
0
一起撸个朋友圈吧 (Step6) 评论对齐(未完全版本)【上】

项目地址:https://github.com/razerdp/FriendCircle 上篇链接:http://www.jianshu.com/p/58894dfb3f09 下篇链接:http://www.jianshu.com/p/513e2eccd7a8 食用注意: 本餐为非完全体,仅仅...

2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

keepalived配置高可用集群

Linux集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:...

TaoXu
7分钟前
0
0
mysql联表批处理操作

1 概述 mysql中的单表增删改查操作,可以说是基本中的基本. 实际工作中,常常会遇到一些基本用法难以处理的数据操作,譬如遇到主从表甚至多级关联表的情况(如一些历史问题数据的批量处理),考虑到...

社哥
10分钟前
0
0
IntelliJ IDEA 详细图解最常用的配置,适合刚刚用的新人。

刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改...

kim_o
25分钟前
0
0
Google Java编程风格指南

目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合...

niithub
27分钟前
0
0
java.net.MalformedURLException异常说明

1.异常片段 Java代码中,在进行URL url = new URL(urllink)操作时,提示以下异常信息,该类异常主要问题出在参数urllink上面。 异常片段1 java.net.MalformedURLException at java.ne...

lqlm
27分钟前
0
0
CentOS7修改mysql5.6字符集

解决办法:CentOS7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家所需要的字符集,是国际编码。 具体操作如下: 1.进入MySQL [root@tianqi-01 ~]# mysql -uroot -p Enter passw...

河图再现
29分钟前
0
0
DevExpress v18.1新版亮点——WPF篇(一)

用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WPF v18.1 的新功能,快来下载试用新版本!点击下载>> Accordion Co...

Miss_Hello_World
31分钟前
0
0
Rancher 2.0集群与工作负载告警

Rancher 2.0操作指南。本文将step by step演示如何使用Rancher 2.0中集成的告警功能,包括设置通知程序、设置集群级别以及工作负载级别的告警。 在Rancher 1.x时期,告警功能是很多Rancher用...

RancherLabs
36分钟前
1
0
Python中字符串拼接的N中方法

python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!'print(s) 输出结果:Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中...

木头释然
37分钟前
9
0
JAVA排序之归并排序

归并排序思路就是不停拆分数组,直到拆成一个一个元素,之后将拆出来的元素按照拆分顺序反过来的顺序合并,出现前边值大于后边值,则换位置,放入临时数组,最后将临时数组覆盖原数组. public stat...

勤奋的蚂蚁
49分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部