2016-9-23

2016-9-23

1.view移除背景后再设置背景导致padding无效

public void setBackgroundDrawable (Drawable background)
Added in API level 1
This method was deprecated in API level 16. use setBackground(Drawable) instead

public void setBackground (Drawable background)
Added in API level 16
Set the background to a given Drawable, or remove the background. If the background has padding, this View's padding is set to the background's padding. However, when a background is removed, this View's padding isn't touched. If setting the padding is desired, please use setPadding(int, int, int, int).

在再次设置背景前,需要先获取padding,如下:
    int paddingLeft = button.getPaddingLeft();
    int paddingRight = button.getPaddingRight();
    int paddingTop = button.getPaddingTop();
    int paddingBottom = button.getBottom();
    button.setBackgroundDrawable(new ColorDrawable());
    button.setPadding(paddingLeft,paddingTop,paddingRight, paddingBottom);

2.android自定义view时,在页面被回收时保存变量

    @Override  
    protected Parcelable onSaveInstanceState() {  
        Bundle bundle = new Bundle();  
        Parcelable superData = super.onSaveInstanceState();  
        bundle.putParcelable("super_data", superData);  
        bundle.putParcelableArrayList("save_data", mRects);  
        return bundle;  
    }  

    @Override  
    protected void onRestoreInstanceState(Parcelable state) {  
        Bundle bundle = (Bundle) state;  
        Parcelable superData = bundle.getParcelable("super_data");  
        mRects = bundle.getParcelableArrayList("save_data");  
        super.onRestoreInstanceState(superData);  
    }  

3.进入sd卡选择图片的几种方式

1.
    Intent localIntent = new Intent();
    localIntent.setType("image/*");
    localIntent.setAction("android.intent.action.GET_CONTENT");
    startActivityForResult(localIntent, PHOTO_PICKED_WITH_DATA);
2.
    Intent localIntent = new Intent();
    localIntent.setType("image/*");
    localIntent.setAction("android.intent.action.GET_CONTENT");
    Intent localIntent2 = Intent.createChooser(localIntent, "请选择图片");
    startActivityForResult(localIntent2, PHOTO_PICKED_WITH_DATA);
3.
    Intent localIntent3 = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(localIntent3, PHOTO_PICKED_WITH_DATA);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值