1.ActivityGroup中某一FragmentActivity的onActivityResult()方法不执行。
因为在FragmentActivity跳转时getParent()执行startActivityForResult()方法,因此会在ActivityGroup中执行onActivityResult()方法。
2.使用Java代码为Button字体颜色添加Selector。
添加Selector文件,保存在res/color/目录下:
button.setTextColor(mContext.getResources().getColorStateList(R.color.button_color));
3.获取Android屏幕密度density。
mContext.getResources().getDisplayMetrics().density;
Resources.getSystem().getDisplayMetrics().density;
Resources.getSystem().getDisplayMetrics().widthPixels;
Resources.getSystem().getDisplayMetrics().heightPixels;
4.View的方法。
public final Context getContext () //获取Context。
public boolean isShown () //判断View是否显示。
5.TextView的背景是自定义的ShapeDrawable,如何更改颜色。
tv.getBackground().mutate();
((GradientDrawable) tv.getBackground()).setColor(int argb);
6.通过x,y坐标获取ListView中Item的Position。
public int pointToPosition (int x, int y) (异常返回:INVALID_POSITION)
public long pointToRowId (int x, int y) (异常返回:INVALID_ROW_ID)
7.自定义View不运行onDraw()方法。
在构造函数中添加:
this.setWillNotDraw(false);
8.关闭Dialog时异常:java.lang.IllegalArgumentException: View not attached to window manager。
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN) {
if (isFinishing()) {
return;
}
} else {
if (MainActivity.this.isDestroyed()) {
return;
}
}
9.context.getString()与Resources.getSystem().getString()区别。
Resources.getSystem()只支持系统级别的资源,而非应用级别的。
10.屏幕旋转
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
添加android:configChanges="orientation|screenSize"时,不调用Activity生命周期方法,仅调用onConfigurationChanged方法。
屏幕适配:layout,layout-land
11.关于Fragment not attached to Activity 异常
出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。
解决方案是在调用之前增加一个判断isAdded()。
如果是取Strings.xml字符串数据,则可用Application.getString()方法。
12.WebView混合排版中的图片显示不出来。
Android5.0起改变了WebView的默认行为。系统终止了混排内容及第三方cookies的默认行为。可分别通过以下方法开启:
setMixedContentMode()
setAcceptThirdPartyCookies()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
13.popupwindow点击其他地方消失
popWin.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
popWin.setOutsideTouchable(true);
14.动态设置字体大小
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.text_medium));
15.删除html标签
public static String delHTMLTag(String htmlStr) {
String regEx_script = "