所以我自己能够回答这个问题......我使用路径来创建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中创建平行四边形绘图相关推荐

  1. android softkeyboard,如何以编程方式关闭Android Soft KeyBoard?

    如何以编程方式关闭Android Soft KeyBoard? 我目前正在使用以下代码显示软键盘 InputMethodManager imm = (InputMethodManager) getSy ...

  2. android+双卡imei,以编程方式在Android中为双SIM卡检索IMEI号码

    对于单个SIM,以下代码有效: TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); String ...

  3. 在Android中,如何以编程方式在dp中设置边距?

    本文翻译自:In Android, how do I set margins in dp programmatically? In this , this and this thread I trie ...

  4. android的padding属性,以编程方式获取android:padding属性

    从一个角度来看,如何以编程方式获取android:padding属性的值? 我目前正在使用: private static final String ANDROID_NAMESPACE = " ...

  5. 如何以编程方式在Android上截屏?

    如何通过代码而不是通过任何程序来截屏电话屏幕的选定区域? #1楼 Mualig的回答很好,但是我遇到了Ewoks描述的相同问题,但我没有得到背景知识. 因此,有时足够好,有时我会在黑色背景上出现黑色文 ...

  6. 如何在Android按钮上以编程方式设置drawableLeft?

    本文翻译自:How to programmatically set drawableLeft on Android button? I'm dynamically creating buttons. ...

  7. android设置ap密码,Android AP Wifi - 以编程方式更改网络共享密码(setWifiApConfiguration)...

    我正在尝试以编程方式更改Android AP Wifi密码,但不幸的是停止了工作. 使用Android 4.2工作正常,但4.4 Kitkat已停止. 我通过反射使用setWifiApConfigur ...

  8. java模拟滑动事件_java - 以编程方式在Android视图中触发滑动动作事件 - SO中文参考 - www.soinside.com...

    我正在尝试以编程方式触发视图中的滑动.还有其他问题的答案,但他们没有为我工作.我还看到一些comments表示程序化的拖动/滚动因安全原因被禁用,这是真的吗?我很想找到一个明确的答案. 我尝试了以下方 ...

  9. java layout_java - 以编程方式在LinearLayout中设置边距

    java - 以编程方式在LinearLayout中设置边距 我正在尝试使用Java(而不是XML)创建一个LinearLayout,其中的按钮可以填充屏幕并具有边距. 这是没有边距的代码: Line ...

  10. java menuitem 图标_java – 如何以编程方式更改ActionBar中的MenuItem图标

    如何以编程方式更改ActionBar中的MenuItem图标?我试着用 MenuItem menuItem = (MenuItem)findViewById(R.id.action_settings) ...

最新文章

  1. R语言ggplot2可视化分面图(facet,facet_wrap): 不同分面配置不同的数据范围、自定义每个分面的轴数据格式化形式及数据范围
  2. c语言程序设计上机考试占多少分,C语言程序设计上机考试题目汇编.doc
  3. 志澄观察:卫星互联网——太空经济新动力
  4. Vue中动态设置页面title
  5. 修改eclipse启动时eclipse使用的jre
  6. 老信贷总结:贷款催收技巧和注意事项
  7. 7.3.3 多路复用IO(IO multiplexing)
  8. 软件工程心理学之9----乙方如何面对甲方2
  9. 【2016年第4期】欧盟数据可携权评析
  10. Leetcode-二叉搜索树最近公共祖先
  11. ls在系统中常用的选项与用法
  12. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_18_注解_案例_简单的测试框架...
  13. java动态bean_Java如何操作对象(bean)进行动态排序?
  14. 为啥mysql的load这么快_【MySQL】浅谈MySQL的LOAD DATA
  15. 黑苹果系统补丁 MacOS Unlocker for VMware 3.0 下载和解锁安装macOS X 10.14图文教程
  16. html 在行前显示黑点,Word里有些文字行前面有小黑点是怎么回事?
  17. HCIA-IoT 个人学习总结 Day2
  18. vue添加背景及页面留白处理方法
  19. 中国娱记的鼻祖留心shuo新浪博客
  20. 《wish官方运营手册》读书笔记

热门文章

  1. thinpad E43系列WIN8装WIN7系统
  2. C#--解析DataMatrix二维码
  3. LiveData去除粘性
  4. Android中侧滑菜单的实现
  5. java osm pbf_OSM PBF 文件格式说明
  6. Java Web 代码审计
  7. C#获取中国免费的天气信息
  8. 关于【正点原子STM32F1开发指南】第五章delay.c文件里fac_us=SystemCoreClock/8000000的保姆级详解
  9. Problem_1 小鸡啄米
  10. TMS运输管理系统介绍