你经常需要的功能
setText 内容类似xxx年-xxx年时建议使用string resource with placeholders
在strings.xml中定义:
<string name="sig_event_attender_info" formatted=“false”>参与者(上限%d人,报名%d人)</string>
获取并格式化字符串:
getString(R.string.sig_event_attender_info, eventDetail.getMaxParticipateNumber(), attendeeDetailList.size())
Log有没有同时输出tag、msg和trace的方法?
有:
Log.e(String tag, String msg, Throwable tr)
EditText enter键监听
etUsername.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v,int actionId, KeyEvent event) {
if (actionId == v.getImeOptions() ||(event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
modifyUsername();
return true;
}
return false;
}
});
注意,需要在xml中定义imeOptions属性(否则输入回车时监听器方法会被调用两次),例如:
<EditText
...
android:imeOptions="actionSearch"/>
Bitmap 常用操作
1. Drawable →Bitmap
Resources res= getResources();
Bitmap bmp = BitmapFactory.decodeResource(res,R.drawable.sample_0);
2. Bitmap →Drawable
Drawabledrawable = new BitmapDrawable(bmp);
3. Drawable →Bitmap
public staticBitmap drawableToBitmap(Drawable drawable) {
Bitmap bitmap = Bitmap.createBitmap(
drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(),
drawable.getOpacity() !=PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
//canvas.setBitmap(bitmap);
drawable.setBounds(0, 0,drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
drawable.draw(canvas);
return bitmap;
}
4. 从资源中获取Bitmap
Bitmap bmp = BitmapFactory.decodeResource(res,R.drawable.pic);
5. Bitmap →byte[]
ByteArrayOutputStreambaos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG,100, baos);
returnbaos.toByteArray();
6. byte[] →Bitmap
private BitmapBytes2Bimap(byte[] b) {
if (b.length != 0) {
return BitmapFactory.decodeByteArray(b,0, b.length);
} else {
return null;
}
}
去除TabHost的分隔线
其实是设置TabWidget的属性。
在XML中:
android:showDividers=“none"
在代码中:
tabWidget.setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);
如果XML中没有定义TabWidget,可以在TabHost添加完tab后通过其getTabWidget方法获取。
EventBus 使用
接收消息需要注册和反注册,发送则不需要。
在Activity中注册和反注册:
在fragment