你经常需要的功能——Android篇(不断更新中...)

本文汇总了Android开发中常用的功能实现,包括设置文本、Log输出、EditText监听、Bitmap操作、去除TabHost分隔线、EventBus使用、自定义控件、列表处理、参数限制等,提供了一系列实用的代码示例,方便开发者快速引用。
摘要由CSDN通过智能技术生成

你经常需要的功能

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值