- 浏览: 25403 次
最新评论
文章列表
设置属性自定义Item
- 博客分类:
- android
public class Item extends RelativeLayout {
private TextView tvTitle;
private TextView tvValue;
public Item(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.item);
String title ...
MappedByteBuffer读取大文件
- 博客分类:
- android
RandomAccessFile randomAccessFile = new RandomAccessFile(file,"rw");
FileChannel fileChannel = randomAccessFile.getChannel();
long size = fileChannel.size();
MappedByteBuffer mappedByteBuffer = fileChannel.map(FileChannel.MapMode.READ_WRITE,0,size);
for ( int i = 0 ; i < siz ...
自定义ImageView
- 博客分类:
- android
图片等比例缩放,从0.0左边开始剪切 保证图片不变形
/**
* @Description
* @Created by YCH on 2015/11/9.
*/
public class CropImageView extends ImageView {
/**
* 画布的宽度
*/
private int width;
/**
* 画布的高度
*/
private int height;
float scaleWidth = 1.0f;
float ...
TextView跳转到网页
- 博客分类:
- android
private String url = "<a>https://www.baidu.com</a>";
textView.setText(Html.fromHtml(url));
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center&q ...
类似于微信朋友圈回复功能
- 博客分类:
- android问题解决方案
回复列表的布局就是一个简单的TextView
通过数据判断是回复还是直接评论 字体颜色的改变除了SpannableString(不适用于列表)之外 还有一个Html.forHtml方法实现。
String itemName = "回复 " + "<font color='#4C9CDE'>" + comments.getParent().getName() + "</font>" + " " + comments.getContent();
vh.tv_content.set ...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"&g ...
AndroidEventBus基本使用
- 博客分类:
- android
Android中的Activity, Fragment, Service之间的交互是比较麻烦的,可能我们第一想到的是使用广播接收器来在它们之间进行交互。
例如上述所说在Activity-B中发一个广播,在Activity-A中注册一个广播接收器来接受该广播。但使用广播接收器稍显麻烦,如果你
要将一个实体类当做数据在组件之间传递,那么该实体类还得实现序列化接口,这个成本实在有点高啊!
1.使用AndroidEventBus首先需要在onCreate中注册
EventBus.getDefault().register(Object obj);
同时需要在OnDestor ...
viewpager切换fragment界面 进行网络操作是一个重复又影响体验 并且消耗流量的事情
我们现在需要将fragment界面缓存起来达到保存状态的效果
viewPager.setOffscreenPageLimit(2);
进行多缓存一个界面
虽然消耗一些内存 但是效果还是很不错的
String str = "这是一条测试数据";
SpannableString spanString = new SpannableString(str);
ForegroundColorSpan span = new ForegroundColorSpan(Color.BLUE);
spanString.setSpan(span, 0, str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
btnLogin.append("回复");
btnLogin.append(spanString);
...
将popuwindow设置为白色背景之后,就会出现黑色边框
通过设置如下属性,可将黑色边框取消
popupWindow.setBackgroundDrawable(null);
EditText自动获取焦点问题软键盘自动弹出
设置focuseable='false'也不能从根本上解决问题
使EditText焦点依然存在 但是不自动获取
可以通过设置EditText的父控件来解决
<RelativeLayout
android:id="@+id/ll_comments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom=&q ...
主要原因是由于获取数据时间过短引起的
所以解决方案就产生了,我们可以延迟1s后调用onRefreshComplete方法
new Handler().postAtTime(new Runnable() {
@Override
public void run() {
prlv_details.onRefreshComplete();
}
},2000);
btn_code.setClickable(false);
ValueAnimator valueAnimator = ValueAnimator.ofInt(59,0);
valueAnimator.setDuration(59 * 1000);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(Value ...
listview嵌套gridview以及其他的数据显示,出现了比较奇葩的事情,同样的方法 在其他页面一切OK,但是仅仅在这里了gridview图片错乱了(其他数据显示正常),网上各种找方法,各种不行,最后还是万能的SimpleAdater解决了问题。
SimpleAdapter simpleAdapter = new SimpleAdapter(activity, list, R.layout.grid_item, new String[]{"image"}, new int[]{R.id.imageView})
{
@Override
public void ...
android在线更新提示安装成功
- 博客分类:
- android
废话不多说 直接贴代码
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(i);
android.os.Process.killProcess(android.os.Pro ...