android自定义四边形,以编程方式在Android中创建平行四边形绘图
所以我自己能够回答这个问题......我使用路径来创建drawables,然后将它们拼接在一起以创建平行四边形。
public Drawable createThumbDrawable(boolean checked){
Path path = new Path();
path.moveTo(0, 0);
path.lineTo(1, 0);
path.lineTo(1, 1);
path.lineTo(0, 1);
path.close();
PathShape shape = new PathShape(path, 1, 1);
ShapeDrawable drawable = new ShapeDrawable(shape);
if (checked){
drawable.getPaint().setColor(Color.CYAN);
}
else
{
drawable.getPaint().setColor(Color.BLACK);
}
mThumbLeftDrawable = createLeftThumbDrawable(checked);
mThumbRightDrawable = createRightThumbDrawable(checked);
return drawable;
}
public Drawable createLeftThumbDrawable(boolean checked){
Path path = new Path();
path.moveTo(0, 25);
path.lineTo(25, 0);
path.lineTo(25, 25);
path.close();
PathShape shape = new PathShape(path, 25, 25);
ShapeDrawable drawable = new ShapeDrawable(shape);
if (checked){
drawable.getPaint().setColor(Color.CYAN);
}
else
{
drawable.getPaint().setColor(Color.BLACK);
}
return drawable;
}
public Drawable createRightThumbDrawable(boolean checked){
Path path = new Path();
path.moveTo(0,0);
path.lineTo(25, 0);
path.lineTo(0, 25);
path.close();
PathShape shape = new PathShape(path, 25, 25);
ShapeDrawable drawable = new ShapeDrawable(shape);
if (checked){
drawable.getPaint().setColor(Color.CYAN);
}
else
{
drawable.getPaint().setColor(Color.BLACK);
}
return drawable;
}
public void setChecked(boolean checked) {
//Log.d(TAG, "setChecked("+checked+")");
boolean lc = checked;
if (!mTextOnThumb) {
lc = !checked;
}
if (checked){
mThumbDrawable = createThumbDrawable(checked);//this.getContext().getResources().getDrawable(R.drawable.slide_off);
}
else {
mThumbDrawable = createThumbDrawable(checked);//this.getContext().getResources().getDrawable(R.drawable.slide);
}
super.setChecked(checked);
mThumbPosition = lc ? getThumbScrollRange() : 0;
invalidate();
}
android自定义四边形,以编程方式在Android中创建平行四边形绘图相关推荐
- android softkeyboard,如何以编程方式关闭Android Soft KeyBoard?
如何以编程方式关闭Android Soft KeyBoard? 我目前正在使用以下代码显示软键盘 InputMethodManager imm = (InputMethodManager) getSy ...
- android+双卡imei,以编程方式在Android中为双SIM卡检索IMEI号码
对于单个SIM,以下代码有效: TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); String ...
- 在Android中,如何以编程方式在dp中设置边距?
本文翻译自:In Android, how do I set margins in dp programmatically? In this , this and this thread I trie ...
- android的padding属性,以编程方式获取android:padding属性
从一个角度来看,如何以编程方式获取android:padding属性的值? 我目前正在使用: private static final String ANDROID_NAMESPACE = " ...
- 如何以编程方式在Android上截屏?
如何通过代码而不是通过任何程序来截屏电话屏幕的选定区域? #1楼 Mualig的回答很好,但是我遇到了Ewoks描述的相同问题,但我没有得到背景知识. 因此,有时足够好,有时我会在黑色背景上出现黑色文 ...
- 如何在Android按钮上以编程方式设置drawableLeft?
本文翻译自:How to programmatically set drawableLeft on Android button? I'm dynamically creating buttons. ...
- android设置ap密码,Android AP Wifi - 以编程方式更改网络共享密码(setWifiApConfiguration)...
我正在尝试以编程方式更改Android AP Wifi密码,但不幸的是停止了工作. 使用Android 4.2工作正常,但4.4 Kitkat已停止. 我通过反射使用setWifiApConfigur ...
- java模拟滑动事件_java - 以编程方式在Android视图中触发滑动动作事件 - SO中文参考 - www.soinside.com...
我正在尝试以编程方式触发视图中的滑动.还有其他问题的答案,但他们没有为我工作.我还看到一些comments表示程序化的拖动/滚动因安全原因被禁用,这是真的吗?我很想找到一个明确的答案. 我尝试了以下方 ...
- java layout_java - 以编程方式在LinearLayout中设置边距
java - 以编程方式在LinearLayout中设置边距 我正在尝试使用Java(而不是XML)创建一个LinearLayout,其中的按钮可以填充屏幕并具有边距. 这是没有边距的代码: Line ...
- java menuitem 图标_java – 如何以编程方式更改ActionBar中的MenuItem图标
如何以编程方式更改ActionBar中的MenuItem图标?我试着用 MenuItem menuItem = (MenuItem)findViewById(R.id.action_settings) ...
最新文章
- R语言ggplot2可视化分面图(facet,facet_wrap): 不同分面配置不同的数据范围、自定义每个分面的轴数据格式化形式及数据范围
- c语言程序设计上机考试占多少分,C语言程序设计上机考试题目汇编.doc
- 志澄观察:卫星互联网——太空经济新动力
- Vue中动态设置页面title
- 修改eclipse启动时eclipse使用的jre
- 老信贷总结:贷款催收技巧和注意事项
- 7.3.3 多路复用IO(IO multiplexing)
- 软件工程心理学之9----乙方如何面对甲方2
- 【2016年第4期】欧盟数据可携权评析
- Leetcode-二叉搜索树最近公共祖先
- ls在系统中常用的选项与用法
- 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_18_注解_案例_简单的测试框架...
- java动态bean_Java如何操作对象(bean)进行动态排序?
- 为啥mysql的load这么快_【MySQL】浅谈MySQL的LOAD DATA
- 黑苹果系统补丁 MacOS Unlocker for VMware 3.0 下载和解锁安装macOS X 10.14图文教程
- html 在行前显示黑点,Word里有些文字行前面有小黑点是怎么回事?
- HCIA-IoT 个人学习总结 Day2
- vue添加背景及页面留白处理方法
- 中国娱记的鼻祖留心shuo新浪博客
- 《wish官方运营手册》读书笔记