欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android开发的一些技巧  

程序员文章站 2024-01-13 17:41:40
...

设置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类来直接插入图像。

如图:

android开发的一些技巧
            
    
    
         

下面来看看具体的实现代码:

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里面设置这两个属性