1.progressDialog 进度提示框
new ProgressDialog().setCancelable(true).setMessage("请稍等二秒").show
// 设置定时器,5秒后,关闭AlertDialog
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
alertDialog.dismiss();
}
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的对象)