自定义View瀑布流
public class FlowLayout extends ViewGroup {
public FlowLayout(Context context) {
super(context);
}
public FlowLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FlowLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
measureChildren(widthMeasureSpec,heightMeasureSpec);
}
private int space=20;
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
int kuan=getWidth();
int row=0;
int dieth=20;
for (int i = 0; i <getChildCount() ; i++) {
View view=getChildAt(i);
int Mkuan=view.getMeasuredWidth();
int Mgao=view.getMeasuredHeight();
if (dieth+Mkuan>kuan){
row++;
dieth=20;
}
view.layout(dieth,row*Mgao+space*row,Mkuan+dieth,Mgao*(row+1)+space*row);
dieth+=Mkuan+space;
}
}
}
2
@OnClick({R.id.tu, R.id.yanjing})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.tu:
finish();
break;
case R.id.yanjing:
String keyWord = editText.getText().toString();
TextView button = new TextView(this);
button.setText(keyWord);
flowLayoutId.addView(button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(Main3Activity.this, keyWord, Toast.LENGTH_SHORT).show();
}
});
break;
3
initView();
}
private void initView(){
showWb.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
WebSettings settings=showWb.getSettings();
settings.setJavaScriptEnabled(true);
showWb.loadUrl("");
}
4
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("自己写要写的");
builder.setMessage("自己写要写的");
builder.setPositiveButton("自己写要写的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
System.out.println("自己写要写的");
Intent intent=new Intent(Main5Activity.this,Main2Activity.class);
startActivity(intent);
}
}).setNegativeButton("自己写要写的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent1=new Intent(Main5Activity.this,Main2Activity.class);
startActivity(intent1);
}
});
builder.show();
}
}
```。
```。
private Context context;
private ManyBase.ResultBean resultBean;
public TotalAdapter(Context context, ManyBase.ResultBean resultBean) {
this.context = context;
this.resultBean = resultBean;
}
private static final int RXXP = 1;
private static final int MLSS = 2;
private static final int PZSH = 3;
@Override
public int getItemViewType(int position) {
if (position == 1) {
return RXXP;
} else if (position == 2) {
return MLSS;
} else {
return PZSH;
}
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
switch (viewType) {
case RXXP:
return new RxxpViewHolder(View.inflate(context, R.layout.rxxp, null));
case MLSS:
return new MlssViewHolder(View.inflate(context, R.layout.mlss, null));
case PZSH:
return new PzshViewHoplder(View.inflate(context, R.layout.pzsh, null));
}
return null;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
//TODO 判断获取
if (holder instanceof RxxpViewHolder){
RxxpViewHolder rxxpViewHolder= (RxxpViewHolder) holder;
rxxpViewHolder.DnameId.setText(resultBean.getRxxp().getName());
//TODO 设置布局样式
rxxpViewHolder.rxxpRecycId.setLayoutManager(new GridLayoutManager(context,2));
//TODO 设置获取适配器
rxxpViewHolder.rxxpRecycId.setAdapter(new RxxpAdapter(resultBean.getRxxp().getCommodityList(),context));
}else if (holder instanceof MlssViewHolder){
MlssViewHolder mlssViewHolder= (MlssViewHolder) holder;
mlssViewHolder.DnameId.setText(resultBean.getMlss().getName());
mlssViewHolder.mlssRecycId.setLayoutManager(new LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false));
mlssViewHolder.mlssRecycId.setAdapter(new MlssAdapter(resultBean.getMlss().getCommodityList(),context));
}else if (holder instanceof PzshViewHoplder){
PzshViewHoplder pzshViewHoplder= (PzshViewHoplder) holder;
pzshViewHoplder.DnameId.setText(resultBean.getPzsh().getName());
pzshViewHoplder.pzshRecycId.setLayoutManager(new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false));
pzshViewHoplder.pzshRecycId.setAdapter(new PzshAdapter(resultBean.getPzsh().getCommodityList(),context));
}
}
@Override
public int getItemCount() {
return 3;
}
class RxxpViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.Dname_id)
TextView DnameId;
@BindView(R.id.rxxp_recyc_id)
RecyclerView rxxpRecycId;
public RxxpViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
class MlssViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.Dname_id)
TextView DnameId;
@BindView(R.id.mlss_recyc_id)
RecyclerView mlssRecycId;
public MlssViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
class PzshViewHoplder extends RecyclerView.ViewHolder {
@BindView(R.id.Dname_id)
TextView DnameId;
@BindView(R.id.pzsh_recyc_id)
RecyclerView pzshRecycId;
public PzshViewHoplder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}```