自定义控件实例积累

221 阅读1分钟

圆角btn实现

实现圆形btn

  • 设置GradientDrawable,对其设置shape

实现btn的按下边框效果

  • 直接设置selector,如果对button设置效果应该用AppCompatButton,否则没有效果
  • 外层套一层layout 点击时通过selector切换外层layout的background
  • 通过GradientDrawable的setStroke方法动态添加background
  • 设置一个glag,然后再onDraw方法中动态画出一个边框
  • btn的xml下放置一个framelayout,在framelayout上设置一个背景框,图片或者shape,通过调整其显示隐藏来动态展示

上述方法对一个view绘制边框都是描绘内边框

RecycleView上item的状态切换

  • 通过设置自定义item的公开方法在onBindViewHolder方法中调用
  • 通过设置item的selector,通过判断item的select、pressed等属性来动态切换
  • 通过设置mCurrentSelectedIndex的标记,然后再onBindViewHolder中判断position是否等于mCurrentSelectedIndex,来做相应的UI切换