`
文章列表
通常情况下spinner都采用系统默认的android.R.layout.simple_spinner_item和android.R.layout.simple_spinner_dropdown_item 有时候也需要自定义这两个文件 比如我这里是spinner_item.xml,这个是下拉列表的item样式 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro ...
开源项目PullToRefresh详解(一)——PullToRefreshListView 类似Lollipop滚动溢出效果的下拉刷新布局:JellyRefreshLayout http://www.open-open.com/lib/view/open1437223823115.html 网上很多这样的效果都是继承某个具体的AdapterView或ScrollView,这样很不通用,如果继承自一个ViewGroup(比如LinearLayout),那么任何放在其中的子view都有上拉下拉刷新,那不就完美了? 不废话,上代码: import android.content.Context ...
小米测试通过! Android默认没有安装TTS数据包,无法文字转语音,而在设置里推荐的语音包是Pico TTS,并不支持中文,如果需要读中文,需要下载另外的第三方语音包,如:eSpeak,Svox,个人建议Svox,eSpeak非常生硬,而且很多汉字都读不出,不支持中英文混读(英文当拼音读)。下载链接自己Google下吧,很多软件市场(推荐360手机助手)都有下载。下载安装后打开设置-语音输入和输出-文字转语音设置,默认引擎选择Svox Classic TTS,勾选Svox Classic TTS,语言选择中文(Yun)或广东话(Svox安装后还要下载安装相应的语言包的,类似插件)。接下来代 ...
在做OnGestureListener手势滑动界面的时候,会遇到这样的问题,就是当界面中含有ListView的时候,OnGestureListener的界面滑动就被ListView拦截并消费掉了。 为了解决这个问题需要重写ListView的OnTouchListener接口: ListView listView=(ListView)findViewById(R.id.listViewBeside); listView.setOnTouchListener(new View.OnTouchListener(){ @Override public boo ...
在Android编程中使用Adapter时,偶尔会出现如下错误: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread。 DDMS中的log也无法定位到准确的出错位置。检查错误可以从下面几点入手: 1、检查Thread,确定没有在Background thread中直接 ...
不错的创意,记一下,原帖 原理其实就是话筒的监听,需要在AndroidManifest.xml中要加入两个权限     <uses-permission android:name="android.permission.RECORD_AUDIO"/>     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORA ...
经常要在ScrollView中嵌入ListView,网上方法一大堆,但都比较繁琐。 本人认为比较好的办法如下: import android.widget.ListView; /** * ScrollView中嵌入ListView,让ListView全显示出来 * @author reyo * */ public class MyListView extends ListView{ public MyListView(android.content.Context context,android.util.AttributeSet attrs){ sup ...
很多时候我们都需要实时监听网络状态,当网络状态发生变化后通知程序实行不同的策略。 这里,我采用Service+BroadcastReceiver的形式实时监听网络变化。 原理是程序在背后启一个Service,在Service中注册一个广播,当网络变化时会产生一个ConnectivityManager.CONNECTIVITY_ACTION事件,只要监听这个事件就可以了。代码如下: import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; im ...
有些时候我们的软件用到SQLite数据库,这个时候怎么把一个做好的数据库打包进我们的APK呢,其实很简单,就是把我们的数据库文件放到我们的手机里,所以不必局限在哪个地方写这个代码,在第一次创建数据库的时候可以,我觉得在软件起动页里效果更好一点,首先我们应该把事先写好的数据库文件比如 test.db放到res文件夹里的raw文件夹里,也可以放到assets里,因为这两个文件夹不会在生成APK的时候不会被压缩。 1,DataBaseUtil用于将raw中的db文件copy到手机中,代码如下 import java.io.File; import java.io.FileOutputStream ...
Rotate3dAnimation是google api demo中copy出来的,具体的例子在Views/Animation/3D Transition中。 这里我就直接贴了: package com.ata.util; import android.view.animation.Animation; import android.view.animation.Transformation; import android.graphics.Camera; import android.graphics.Matrix; /** * An animation that r ...
http://orgcent.com/android-sdcard-fileobserver/ Android系统API提供了FileObserver抽象类(Linux的INotify机制)来监听系统/sdcard中的文件或文件夹,FileObserver类能对sdcard中的文件及文件夹的打开、创建、移动和删除操作进行监控。下面看看代码实现: import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.os.FileObserver; ...
iv = (ImageView) findViewById(R.id.iv); iv.setOnTouchListener(new MulitPointTouchListener(iv)); iv.setScaleType(ScaleType.CENTER_INSIDE); public class MulitPointTouchListener implements OnTouchListener { Matrix matrix = new Matrix(); Matrix savedMatrix = new Matrix(); public ImageView ...
private static Boolean isExit = false; private static Boolean hasTask = false; Timer tExit = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { isExit = false; hasTask = true; } }; ...
http://blog.csdn.net/flying_vip_521/article/details/7656413 package com.net.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; im ...
写在最前:Android实现推送是比较困难的,我这里虽然实现了推送,但是当服务器需要发送的对象一多,就会发生延迟或干脆Down机。很多软件看似实现了推送,其实不然,它们只不过是有一个Service一直在监听网络状态,当手机联网了就主动向服务器请求了数据,给人的感觉像“推送”了一样。这是障眼法,老板们哪管这些,还以为真的推送,非得实现它。殊不知,真正的推送跟服务器的数量有关!再细想一下,如果这么容易就能实现推送,那早就垃圾信息满天飞了,还要发垃圾短信干什么!至少,发垃圾短信还要收费,可是推送就不需要花钱。当别人都是傻子,用免费的不用还用收费的?所以,一味的追求“推送”不可取! 看了以上这些话,你是 ...
Global site tag (gtag.js) - Google Analytics