Android小笔记
一、ProgressBar控制转速
<ProgressBar android:id="@+id/pb" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center" android:indeterminateDrawable="@drawable/anim_progress_rotate"/>
anim_progress_rotate.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" > <rotate android:drawable="@drawable/loading" android:fromDegrees="0.0" android:pivotX="50.0%" android:pivotY="50.0%" android:toDegrees="1080" //转速的问题只要修改android:toDegrees的值,将值变大点就好了,推荐改为1080
/> </item> </layer-list>
二、判断TextView是否超出加省略号
通过指定android:ellipsize="end" android:singleLine="true" 可以让TextView自动截断超出部分并且添加省略号。但是如何判断一个TextView是否被截断了呢?
public float measureTextLength(TextView tv) { if (paint == null) { paint = new Paint(); } paint.setTextSize(tv.getTextSize()); return paint.measureText(tv.getText().toString()); }
上面方法可以算文字如果一行呈现的话需要多长的长度,判断是否大于两行的方法:(((int) measureTextLength((TextView) v) + 0.5f) + ((TextView) v).getPaddingLeft() + ((TextView) v)
.getPaddingRight()) / ((TextView) v).getWidth() > 2
就是排除Textview两边的pandding的距离 然后再除以本身这个组件的长度,实际操作再自行调整。
三、java获取时间戳
//方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(); //方法 三 new Date().getTime();
在网上看到,System.currentTimeMillis() 这种方式速度最快。有机会我也试试比较一下
四、Fragment 不响应 onActivityResult方法
实际开发中,在使用fragment 和 fragmentActivity组合,调用startActivityForResult方法可能没有响应,问题解决了,总结一下正确的调用方式。
1.在fragment.java 中使用getActivity().startActivityForResult(intent,code);
这种情况下fragmentActivity下的onActivityResult方法被调用。fragment中的onActivityResult不会被调用。所以应该将对应的onActivityResult写到fragmentActivity下
2.在fragment.java 中使用startActivityForResult(intent,code);
这种情况下fragmentActivity下的onActivityResult方法被调用,同时注意的是如果fragmentActivity下的onActivityResult方法调用了super.onActivityResult方法,fragment中的onActivityResult也会被调用。
五、找不到android-support-v4 包的解决办法
Project->properties->Java Build Path->Libraries->Add External Jars中加入sdk目录下的extras/android/support/v4/android-support-v4.jar