最近根据项目需求自定了一个UI控件,先来看看具体UI
自定义这个控件有几个知识点总结出来,虽然比较简单,但是还是笔记写一下以便后期自己方便查看
1,动态改变Shap的圆角及颜色的属性GradientDrawable
//获取view的背景的shap资源
GradientDrawable myGrad = (GradientDrawable) lable.getBackground();
//动态设置shap资源的填充颜色
myGrad.setColor(R.color.color_333333);
//动态设置shap的圆角属性
myGrad.setCornerRadius(2);
2,自定义TextView的TextSize属性
设置TextView的TextSize估计对于大神来说都嗤之以鼻,觉得这么简单的东西有啥好写的
这里还是要写一下,因为在定义的时候设置TextSize并不是自己设置的TextSize,换句话说达不到我想要的效果,在获取xml设置的属性的时候还是要注意一下可以使用TypedValue.COMPLEX_UNIT_PX,其实我这里相当于动态设置TextView的TextSize属性了,废话写了这么多,现在直接上代码来看看上面效果的自定view的代码
首先自定义view的布局文件lable_view_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<View
android:id="@+id/lable_view"