android开发的一些技巧
设置url
设置是否当文本为 URL链接、Email 、电话号码、Map 时,文本显示为可点击的链接。
android:autoLink
可选值:none / web / email / phone / map / all
---------------------------------------------华丽的分割线---------------------------------------------
屏蔽输入法键盘的方法
方法一:
androidminifest文件当中,在需要屏蔽输入法的Activity里添加属性:
android:windowSoftInputMode="adjustPan|stateHidden" 。
方法二:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
//myEdit是需要禁止自动弹出软键盘的EditText对象。
imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0);
---------------------------------------------华丽的分割线---------------------------------------------
EditView插入图片
直接通过反射技术从R.drawable类中获得图像资源ID的方法。这种方法的好处是一但图像资源非常多时,
可以不需要在数组中挨个定义就可以获得任意的图像资源ID。使用android.text.style.ImageSpan类来直接插入图像。
如图:
下面来看看具体的实现代码:
public void onClick_RandomFace(View view)
{
// 随机产生1至9的整数
int randomId = 1 + new Random().nextInt(9);
try
{
// 根据随机产生的1至9的整数从R.drawable类中获得相应资源ID(静态变量)的Field对象
Field field = R.drawable.class.getDeclaredField("face" + randomId);
// 获得资源ID的值,也就是静态变量的值
int resourceId = Integer.parseInt(field.get(null).toString());
// 根据资源ID获得资源图像的Bitmap对象
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resourceId);
// 根据Bitmap对象创建ImageSpan对象
ImageSpan imageSpan = new ImageSpan(this, bitmap);
// 创建一个SpannableString对象,以便插入用ImageSpan对象封装的图像
SpannableString spannableString = new SpannableString("face");
// 用ImageSpan对象替换face
spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
// 将随机获得的图像追加到EditText控件的最后
edittext.append(spannableString);
}
catch (Exception e)
{
}
}
还有一种方法 未经验证
在xml中很简单 只要在veditView中设置属性Drawable{Right | Left | Top | Bottom} 在设置中可以使用 EditText text = (EditText)findViewById(R.id.text); text.setCompoundDrawables(null, null, getResources().getDrawable(R.drawable.check_box), null);
ListView中有CheckBox onItemClick事件不能触发
item的根layout
android:descendantFocusability="blocksDescendants"
android:focusable="false" android:focusableInTouchMode="false" checkbox里面设置这两个属性 |