Android的一些分享

1.progressDialog 进度提示框


    new ProgressDialog().setCancelable(true).setMessage("请稍等二秒").show


// 设置定时器,5秒后,关闭AlertDialog
                        Handler handler = new Handler();
                        handler.postDelayed(new Runnable() {
                            @Override
                            public void run() {
                                alertDialog.dismiss();
                            }

                        }, 1000);


2 .为Recyclerview添加头布局 需要倒依赖 RecyclerViewHeader
        RecyclerViewHeader recyclerViewHeader = RecyclerViewHeader.fromXml(getContext(),R.layout.header);
        //把头布局attach到Recyclerview上
        recyclerViewHeader.attachTo(rcv_one);


3. 购物车原理

 

adapter.SetOnItemClick(new Adapter.OnItemClick() {
    @Override
    public void OnClick(int postion, boolean check) {

        //接口这里的参数是传过来的,就用check进行判断
        if (check) {
            price += list.get(postion).getPrice();
            count++;
        } else {
            price -= list.get(postion).getPrice();
            count--;
        }
        tv_price.setText(price + "");
        tv_total.setText(count + "");
        ;
    }
});
 
4.上拉加载下拉刷新
   
sr_second.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
    @Override
    public void onRefresh() {
        page = 1;
        sendGet(page);
        if (sr_second.isRefreshing()) {
            sr_second.setRefreshing(false);
        }
    }
});
lv_second.setOnScrollListener(new AbsListView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        if (lastcount == adapter.getCount()) {
            //++page先加再显示
            sendGet(++page);
        }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        lastcount = firstVisibleItem + visibleItemCount;
    }
});
5.自定义圆形图片
package com.example.administrator.glidedemmo;


import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Shader;
import android.support.annotation.NonNull;


import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;


import java.security.MessageDigest;




public class CircleBitmapTransformation extends BitmapTransformation {
    public CircleBitmapTransformation(Context context) {
        super(context);
    }


    @Override
    protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) {
        //进行绘制圆形Bitmap
        return getBitmap(toTransform);
    }
    public Bitmap getBitmap(Bitmap bitmap){
        if(bitmap==null)
            return null;
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        int min = Math.min(width, height);
        int x = (width-min)/2;
        int y = (height-min)/2;
        
        Bitmap bitmap1 = Bitmap.createBitmap(bitmap, x, y, min, min);
        
        Bitmap bitmap2 = Bitmap.createBitmap(min, min, Bitmap.Config.ARGB_4444);




        Canvas canvas = new Canvas(bitmap2);
        Paint paint = new Paint();
        paint.setColor(Color.WHITE);
        paint.setShader(new BitmapShader(bitmap1, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
        int R = min/2;
        canvas.drawCircle(R,R,R,paint);
        return bitmap2;
    }




    @Override
    public String getId() {
        return getClass().getSimpleName();
    }
}
6.Fragment之间切换
   判空,add,show
   上下文调用.getFragmentManager---开启事物----replace/hide----commit();
   Fragment中获取上下文引用 getActivity();
  A---F传值,A中调用F.setArgument(Bundle bundle);对应的F中getArguments();
  F----A传值 ,接口回调
7.F---F
通过中间Activity,replace 定义标识,然后B 中定方法,在A中找到B的标识(是通过getFragmentManager获得同时也需要强转成B的对象)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值