• RadioButton    去除前面的圆圈:

              布局中:android:button="@null"

             代码中:RadioButton rb = new RadioButton(mContext);
        rb.setButtonDrawable(new ColorDrawable(Color.TRANSPARENT));

  • 布局调整

      设置内边距:rb.setPadding(15, 10, 15, 10);
  • RadioGroup流式布局

import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.widget.RadioGroup;/** * 可换行 * 流式布局的RadioGroup */public class FlowRadioGroup extends RadioGroup {    //设置的间距长度    private static final int len = 40;    public FlowRadioGroup(Context context, AttributeSet attrs) {        super(context, attrs);    }    public FlowRadioGroup(Context context) {        super(context);    }    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        int maxWidth = MeasureSpec.getSize(widthMeasureSpec);        int childCount = getChildCount();        int x = 0;        int y = 0;        int row = 0;        for (int index = 0; index < childCount; index++) {            final View child = getChildAt(index);            if (child.getVisibility() != View.GONE) {                child.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);                // 此处增加onlayout中的换行判断,用于计算所需的高度                int width = child.getMeasuredWidth();                int height = child.getMeasuredHeight();                x += width + len;                y = row * height + height + len * (row + 1);                if (x > maxWidth) {                    x = width + len;                    row++;                    y = row * height + height + len * (row + 1);                }            }        }        // 设置容器所需的宽度和高度        setMeasuredDimension(maxWidth, y);    }    @Override    protected void onLayout(boolean changed, int l, int t, int r, int b) {        final int childCount = getChildCount();        int maxWidth = r - l;        int x = 0;        int y = 0;        int row = 0;        for (int i = 0; i < childCount; i++) {            final View child = this.getChildAt(i);            if (child.getVisibility() != View.GONE) {                int width = child.getMeasuredWidth();                int height = child.getMeasuredHeight();                x += width + len;                y = row * height + height + len * (row + 1);                if (x > maxWidth) {                    x = width + len;                    row++;                    y = row * height + height + len * (row + 1);                }                child.layout(x - width, y - height, x, y);            }        }    }}
  • 动态改变颜色和字体样式

  • public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder viewHolder;        if (convertView == null) {            final LayoutInflater inflater = LayoutInflater.from(mContext);            convertView = inflater.inflate(R.layout.item_left_symptom_layout, null);            viewHolder = new ViewHolder();            convertView.setTag(viewHolder);            viewHolder.tv = (TextView) convertView.findViewById(R.id.tv);        } else {            viewHolder = (ViewHolder) convertView.getTag();        }        viewHolder.tv.setText(list.get(position).getName());        if (mSelectItem == position) {            viewHolder.tv.setBackgroundColor(Color.parseColor("#F4F4F4"));//背景色与主界面的FrameLayout一样            viewHolder.tv.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));        } else {            viewHolder.tv.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//空白图片            viewHolder.tv.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));        }        return convertView;    }    private class ViewHolder {        TextView tv;    }    public void setSelectItem(int selectItem) {        this.mSelectItem = selectItem;        notifyDataSetChanged();    }

     

更多相关文章

  1. android LayoutParams 简单说明 理解 示例
  2. Android透明状态栏(沉浸式状态栏)
  3. android第五天早:抗锯齿和全屏
  4. AndroidX之CoordinatorLayout+AppBarLayout顶部折叠栏
  5. Android毕设之Fragment+TabHost(三)
  6. 【面包屑】快速使用RecyclerView搭建列表
  7. 曾经的笔记——android的学习笔记(布局和电话、短信权限)
  8. Android(安卓)监听软键盘显示和隐藏
  9. Android四大组件之activity之间带数据跳转

随机推荐

  1. Android(安卓)Studio 导入别人的项目
  2. Android(安卓)Framework启动过程(android
  3. 介绍两个Android开源项目:Android显示GIF
  4. android push机制-C2DM
  5. Android(安卓)CountDownTimer实现定时器
  6. 定制Android的Home
  7. android的九宫格式实现
  8. Android系统权限和root权限
  9. Android(安卓)O指纹识别解析
  10. Android(安卓)Http请求的代码