摘要:
前言: Android中的自带的CursorAdapter适配器可以加载固定格式的数据绑定。但在实际应用开发中,会碰到ListView中Item项显示根据数据不同,而变化显示。举例:在我们实际开发中碰到这样的问题 根据一个主题答题情况,显示不同的按钮,且点击按钮后,转到各自的处理界面。 【主题状态】第一次答题,显示 【开始】按钮 事件:点击按钮,下载题库,转到答题界面 【主题状态】答题还未结束,显示 【继续】按钮 事件:点击按钮,转到答题界面 【主题状态】全部答题完成,显示 【重做】按钮 事件:点击按钮,清空答题痕迹,转到答题界面,重新答题 实现的效果图: 在这样的情况下,原来系统自带的Cur 阅读全文
摘要:
实现参考效果图和实现效果图 疯狂小鸟选关 (界面设计比较简单,美工稿没有完成)前言: 实现的效果为,显示一张试卷的各道题(根据回答情况,进行区分显示,如题目不满一屏,则,剩余的题目空间,显示默认空的效果),用户点击题目编号后,弹出对话框,显示题目和答案1 技术点说明:1.1 根据控件名称获取,控件对象 正常的情况下 获取控件的方式为TextView tsr_result = (TextView)layoutForDialog.findViewById(R.id.tsr_result); 如果根据控件名称进行动态获取控件对象进行处理的话,就需要找到这样的接口,获取控件对象。下面就是这样的接口的事 阅读全文
摘要:
很多音乐播放器界面上都有一个音量seekbar,那么在android里面是如何实现的呢? 首先分析下要解决的问题:1.获取媒体播放的音量。 2.通过seekbar可以增减音量 3.用户按下音量键增减音量,seekbar保持同步 对于第一个问题:Android系统提供AudioManager类来获得系统audio服务。 对于第二个问题:实现seekBarChangeLIstener里面onProgressChanged方法。 对于第三个问题:用线程来同步更新UI。 设置音量的代码:1 private void setVolum()2 {3 4 maxVolume = mAudioManager. 阅读全文
摘要:
下面介绍SeekBarPreference控件,保存的Value为数字值,直接可以在preferences.xml文件中使用无需其他代码。下面是控件使用到得标准Android属性android:dialogMessage 显示对话框中的文本信息android:text 在选择进度条后,显示的文本信息android:maxSeekBar的最大值 /* The following code was written by Matthew Wiggins * and is released under the APACHE 2.0 license * * http://www.apache.org/l 阅读全文
摘要:
在使用EditText的addTextChangedListener(new TextWatcher())方法时(即给EditText增加监听器): 注意: 1、在使用里面的函数时,不能没有条件的改变本EditText的内容 , 因为这样容易引起死循环,所以必须要加限制条件//////////////////////////////////////////////////////给EditText增加监听器 contentEditText.addTextChangedListener(new TextWatcher() {int l=0;////////记录字符串被删除字符之前,字符串的长度i 阅读全文
摘要:
在android手机上使用百度地图来定位的资料在网上很难找到,经过两天的折腾,终于搞出来了。下面的代码已经实现完整定位,需要注意的就是,如果你的百度地图的底图未显示出来,请确保你手机能使用GPRS(以移动为例)或WIFI联网,要使用精确定位的话,也必须要打开GPS。下面我们直接上代码,代码说明,百度里面有,一看就知道: step1 AndroidManifest.xml文件 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://sc 阅读全文
摘要:
实现效果说明:TextView样式实现的几种方式1 xml样式配置Xml样式配置Textview中的基本样式如背景色,字体颜色,文本对齐方式,边框样式等,同时也可以配置超链接,电话,邮箱等2 使用SpannableString,在后台设计文本样式 通过 SpannableString方式设置Span来实现样式 下面是常用span的事例 //创建一个 SpannableString对象 SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体."); //设置超链接 sp.setSpan(n 阅读全文
摘要:
上一节给大家讲解通过调用android系统自带的浏览器进行授权认证的,使用该种方式能很容易的完成认证,但是该种方式有个弊端,也就是如果使用第三方的浏览器如UC、天天等,输入完QQ账号信息点击“授权”后并不能再次跳转到MainActivity,导致我们的认证失败。这个问题应该是非常严重的问题,因为大部分用户都会选择第三方的浏览器作为默认的浏览器。本次给大家讲解自动获取验证码的第二种解决方案,克服上一种方法的缺陷。第二种解决方案的主角就是我们的WevView控件,我们可以使用WebView控件来进行浏览器的操作,而不使用系统或者第三方的浏览器。1.首先创建一个Activity,命名为WebView 阅读全文
摘要:
最近项目中要用到,所以做了个,刚开始做出来,可能有些地方还没有考虑完整,不过可以拿来参考一下。其实最主要的就是使用了一个自定义的BaseAdapter,在其中的getView方法中,为模板中的图片控件增加了onTouchListener事件即可实现。 运行效果如下:主布局文件:1<?xmlversion="1.0"encoding="utf-8"?>2<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"3android:orie 阅读全文
摘要:
在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性android:background="@drawable/bg",不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果,默认的ListItem背景是透明的,而ListView的背景是固定不变的,所以在滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为 阅读全文
摘要:
最近在做一个Android项目, 为了改善用户体验,把原先必须让用户“等待”的过程改成在新线程中异步执行。但是这样做遇到了多个线程同时需要写Sqlite数据库,导致操作数据库失败。本人对JAVA并不熟悉,只接触了2个多月(纯粹为了Android项目, 才开始接触JAVA), 在网上搜了一下, 发现JAVA在线程同步方面提供的功能相对于C#真少,只找到synchronized关键字, 而且还不提供timeout机制, 不过经过测试, 至少解决了目前的需求。问题需求:1. Android中, 对Sqlite数据库操作, 需要自己实现一个继承自SQLiteOpenHelper的类2. 实现类中, 对 阅读全文
摘要:
我们开发一个项目的时候,从网上得到的图片然后生成Bitmap 这过程非常耗时。在滑动的过程中会非常的卡。严重的影响了用户体验。ListView 分页的文章网上一搜一大把。现在看一下怎样实现异步加载public class AsyncImageLoader { //图片缓存器 private Map<String, SoftReference<Bitmap>> imageCache=new HashMap<String, SoftReference<Bitmap>>(); public Bitmap loadDrawable(final Strin 阅读全文
摘要:
最近在做一个RSS订阅软件,需要对过长的新闻标题进行截取,本来准备自己来写一下,不过后来查了一下资料,发现TextView已经有完成这种需求的属性了,android开发起来真的很方便,代码如下:<TextView android:id="@+id/txChannelDesc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize=& 阅读全文