Android的shape功能和selector功能的代码中定义的简单使用及替换
2017-11-17 10:44
1286 查看
使用代码定义的shape资源类
关键api方法:
setColor(rgb); //填充颜色
setGradientType(GradientDrawable.RECTANGLE); //shape矩形
setCornerRadius(radius); //四周圆角半径
setStroke(1,strokenColor); //边框厚度与颜色
用法:在代码中使用这个方法设置控件背景就OK了。
使用代码定义的selector选择器资源类
用法:
1.设置selector:
tv.setBackground( DrawableUtil.getSelector(DrawableUtil.getDrawable(Color.rgb(r, g, b), UIUtils.dp2px(5)),
DrawableUtil.getDrawable(Color.WHITE, UIUtils.dp2px(5))));
2.设置TextView的内边距:
int padding = UIUtils.dp2px(5);
tv.setPadding(padding, padding, padding, padding);
3.设置监听:
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(HotProductFragment.this.getActivity(), tv.getText(), Toast.LENGTH_SHORT).show();
}
});
public static Drawable getDrawable(int rgb, int radius){ GradientDrawable gradientDrawable = new GradientDrawable(); gradientDrawable.setColor(rgb); gradientDrawable.setGradientType(GradientDrawable.RECTANGLE);//矩形 gradientDrawable.setCornerRadius(radius);//四周圆角半径 gradientDrawable.setStroke(UIUtils.dp2px(1),rgb);//边框厚度与颜色 return gradientDrawable; }
关键api方法:
setColor(rgb); //填充颜色
setGradientType(GradientDrawable.RECTANGLE); //shape矩形
setCornerRadius(radius); //四周圆角半径
setStroke(1,strokenColor); //边框厚度与颜色
用法:在代码中使用这个方法设置控件背景就OK了。
使用代码定义的selector选择器资源类
public static StateListDrawable getSelector(Drawable normalDrawable,Drawable pressDrawable){ StateListDrawable stateListDrawable = new StateListDrawable(); //给当前的颜色选择器添加选中图片选中指向状态,未选中图片指向状态 stateListDrawable.addState(new int[]{android.R.attr.state_enabled,android.R.attr.state_pressed},pressDrawable); stateListDrawable.addState(new int[]{android.R.attr.state_enabled},normalDrawable); //设置默认状态 stateListDrawable.addState(new int[]{},normalDrawable); return stateListDrawable; }
用法:
1.设置selector:
tv.setBackground( DrawableUtil.getSelector(DrawableUtil.getDrawable(Color.rgb(r, g, b), UIUtils.dp2px(5)),
DrawableUtil.getDrawable(Color.WHITE, UIUtils.dp2px(5))));
2.设置TextView的内边距:
int padding = UIUtils.dp2px(5);
tv.setPadding(padding, padding, padding, padding);
3.设置监听:
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(HotProductFragment.this.getActivity(), tv.getText(), Toast.LENGTH_SHORT).show();
}
});
相关文章推荐
- Android自己定义矩形及selector、shape的使用
- Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码: <shape>
- androidUI设计:shape和selector的结合使用
- Android-----使用Button特效selector+shape
- Android开发之--(WIFI,蓝牙,电池,背光,SD卡,摄像头,按键,MIC,重力感应等)功能的简单使用
- Android中使用shape来自定义控件显示
- Android中使用shape来定义控件的显示属性
- Android开发教程:shape和selector的结合使用
- Android ImageButton 使用Selector的简单示例
- Android生日礼物(含拼图游戏,背景音乐,自动拨号等功能实现)--根据代码规范修改注释以及定义
- Android [应用代码] 简单调用系统的图片裁剪功能
- 使用网页代码“截取”功能,打印页面某段定义区域内容
- [android]使用shape来定义控件的一些显示属性
- Android使用GridView实现日历功能(详细代码)
- 引自MagicLinux的C代码简单配置文件读取功能(使用需修改)
- android - UI设计之shape和selector的结合使用
- Android开发之--(WIFI,蓝牙,电池,背光,SD卡,摄像头,按键,MIC,重力感应等)功能的简单使用
- 【Android进阶学习】shape和selector的结合使用
- 【Android进阶学习】shape和selector的结合使用