解决方案:找一个EditText的父级控件把EditText默认的行为截断了!设置html
android:focusable="true"
android:focusableInTouchMode="true">android
示例:eclipse
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
主要调用moveTaskToBack(
true
)方法,简单的来讲相似于点击home键,具体理解请移步
http://www.cnblogs.com/yishujun/p/5394518.htmlide
(1)此种方式经过Home键效果强行影响到Back键对Activity生命周期的影响布局
@Override public void onBackPressed() { Intent home = new Intent(Intent.ACTION_MAIN); home.addCategory(Intent.CATEGORY_HOME); startActivity(home); }
(2)Android的moveTasktoBack()就是说让进程activity栈在后台去运行,相似最小化。可使用这个方法,不让咱们的应用退出。ui
@Override
this
public
void
finish() {
spa
//super.finish(); //记住不要执行此句
code
moveTaskToBack(
true
);
//设置该activity永不过时,即不执行onDestroy()
orm
}
(3)按返回键的时候不但愿退出(默认就finish了),而是只但愿置后台,就能够调这个方法
@Override
public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {
if
(keyCode == KeyEvent.KEYCODE_BACK){
moveTaskToBack(
true
);
return
true
;
}
return
super
.onKeyDown(keyCode, event);
}
(4)TabActivity中,要复写Tab中的onfinish方法:
public void finish()
{
this.moveTaskToBack(true);
}
解决方案:在Button的属性里加上android:textAllCaps="false"就好了
解决方案:
方法一:
利用getResources().getIdentifier(String name,String defType,String defPackage) 获取
public int getResource(String imageName){ Context ctx=getBaseContext(); int resId = getResources().getIdentifier(imageName, "mipmap", ctx.getPackageName()); //若是没有在"mipmap"下找到imageName,将会返回0 return resId; }
方法二:
使用反射机制获取
public int getResource(String imageName){ Class mipmap = R.mipmap.class; try { Field field = mipmap.getField(imageName); int resId = field.getInt(imageName); return resId; } catch (NoSuchFieldException e) {//若是没有在"mipmap"下找到imageName,将会返回0 return 0; } catch (IllegalAccessException e) { return 0; } }
PS:根据资源id获取资源名称:
String resName = getResources().getResourceName(resId);
mDrawable = getResources().getDrawable(resourcesId); 方法过时
解决方案:
方法一:public Drawable getDrawable(int id, @Nullable Theme theme)
方法二: mDrawable = ContextCompat.getDrawable(this,resourcesId);
解决方案:Build.VERSION.SDK_INT
解决方案:
1 byte = 8 bit
1 KB = 1024 bytes
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
位:“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。
字节:8个二进制位构成1个“字节(Byte)”,它是存储空间的基本计量单位。1个字节能够储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。
字:“字”由若干个字节构成,字的位数叫作字长,不一样档次的机器有不一样的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。若是是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。
KB:在通常的计量单位中,一般K表示1000。例如:1千米= 1000米,常常被写为1km;1公斤=1000克,写为1kg。一样K在二进制中也有相似的含义。只是这时K表示1024,也就是2的10次 方。1KB表示1K个Byte,也就是1024个字节。
MB:计量单位中的M(兆)是10的6次方,见到M天然想起要在该数值的后边续上六个0,即扩大一百万倍。在二进制中,MB也表示到了百万级的数量级,但1MB不正好等于1000000字节,而是1048576字节,即 1MB = 2E+20 Bytes = 1048576Bytes。
public static String convertFileSize(long size) {
long kb = 1024;
long mb = kb * 1024;
long gb = mb * 1024;
if (size >= gb) {
return String.format("%.1f GB", (float) size / gb);
} else if (size >= mb) {
float f = (float) size / mb;
return String.format(f > 100 ? "%.0f MB" : "%.1f MB", f);
} else if (size >= kb) {
float f = (float) size / kb;
return String.format(f > 100 ? "%.0f KB" : "%.1f KB", f);
} else
return String.format("%d B", size);
}
解决方案:设置 android:ellipsize
android:ellipsize属性的具体值介绍以下:
android:ellipsize = "end" 省略号在结尾
android:ellipsize = "start" 省略号在开头
android:ellipsize = "middle" 省略号在中间
android:ellipsize = "marquee" 跑马灯
添加了android:ellipsize这个属性后,最好仍是添加上:
android:singleline = "true"
九、Listview item 包含CheckBox、CheckBox、Button等点击该项无效
简而言之,这是一个View的焦点抢占问题。因为里面有Item里面包含了一个CheckBox(相似状况还包括Button、ImageButton等自己带有click等事件的View)
咱们要作的,就是处理好Adapter里面布局的XML根布局的descendantFocusability属性,该属性是当一个为view获取焦点时,定义viewGroup和其子控件二者之间的关系。
android:descendantFocusability
Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.
Must be one of the following constant values:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不须要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接得到焦点
通常来讲咱们使用第三种 blockDescendants,简单的解决办法就是在自定义item的布局中的根布局中指定 android:descendantFocusability="blocksDescendants"