Android的一些分享

来源:互联网 发布:早教软件 编辑:程序博客网 时间:2024/06/05 20:15
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的对象)

原创粉丝点击