国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Android開發速成簡潔教程十五:RadioButton及路徑繪制

移動開發 Android
這個例子是繪制多邊形,多義形和路徑,采用單選鈕RadioButton來選擇Polys 和Path示例:UI設計為上部分用來顯示繪圖內容,下部分為兩個單選按鈕 Polys ,Path。這樣layout就和main.xml 不一樣,main.xml只含一個com.pstreets.graphics2d.GuidebeeGraphics2DView。

這個例子是繪制多邊形,多義形和路徑,采用單選鈕RadioButton來選擇Polys 和Path示例:

UI 設計為 上部分用來顯示繪圖內容,下部分為兩個單選按鈕 Polys ,Path。這樣layout就和main.xml 不一樣,main.xml只含一個com.pstreets.graphics2d.GuidebeeGraphics2DView。因此需在 res\layout下新建一個polys.xml:

  1. <?xml version=”1.0″ encoding=”utf-8″?> 
  2. <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” 
  3.     android:orientation=”vertical” 
  4.     android:background=”@drawable/white” 
  5.  android:layout_width=”fill_parent” 
  6.  android:layout_height=”fill_parent”> 
  7.     <com.pstreets.graphics2d.GuidebeeGraphics2DView 
  8.      android:id=”@+id/graphics2dview” 
  9.      android:layout_weight=”1″ 
  10.      android:layout_width=”fill_parent” 
  11.      android:layout_height=”wrap_content”/> 
  12.  <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” 
  13.   android:layout_width=”wrap_content” android:layout_height=”wrap_content” 
  14.   android:orientation=”horizontal” 
  15.    
  16.   > 
  17.   <RadioGroup 
  18.      android:layout_width=”wrap_content” 
  19.      android:orientation=”horizontal” 
  20.      android:textSize=”20dp” 
  21.      android:layout_height=”wrap_content”> 
  22.    <RadioButton android:text=”Polys” 
  23.        android:id=”@+id/radioPolys” 
  24.     android:layout_width=”wrap_content” 
  25.     android:textColor=”@color/black” 
  26.     android:checked=”true” 
  27.     android:layout_height=”wrap_content”> 
  28.    </RadioButton> 
  29.    <RadioButton android:text=”Path” 
  30.         android:id=”@+id/radioPath” 
  31.     android:layout_width=”wrap_content” 
  32.     android:textColor=”@color/black” 
  33.     android:layout_height=”wrap_content”> 
  34.    </RadioButton> 
  35.   </RadioGroup> 
  36.  </LinearLayout> 
  37.  
  38. </LinearLayout> 

RadioButton 需包含在RadioGroup中做為一個分組,這里將Polys 設為選中。

定義好Layout資源后,修改 Path.java

  1. private RadioButton radioPoly; 
  2.     private RadioButton radioPath;    
  3.     public void onCreate(Bundle savedInstanceState) { 
  4.      super.onCreate(savedInstanceState); 
  5.      setContentView(R.layout.polys); 
  6.      graphic2dView 
  7.       = (GuidebeeGraphics2DView) 
  8.         findViewById(R.id.graphics2dview); 
  9.      radioPath = (RadioButton) findViewById(R.id.radioPath); 
  10.      radioPoly = (RadioButton) findViewById(R.id.radioPolys); 
  11.      radioPath.setOnClickListener(this); 
  12.      radioPoly.setOnClickListener(this); 
  13.     } 

應為需要處理按鍵消息,所以定義了兩個RadioButton對象,可以通過findViewById獲取實例。因為兩個RadioButton這里采用 同樣的處理方法,可以讓Path實現OnClickListener ,即:public class Path extends Graphics2DActivity   implements OnClickListener。完整代碼如下:

  1. 1   public class Path extends Graphics2DActivity 
  2. 2      implements OnClickListener { 
  3. 3     
  4. 4       private RadioButton radioPoly; 
  5. 5       private RadioButton radioPath; 
  6. 6     
  7. 7       public void onCreate(Bundle savedInstanceState) { 
  8. 8           super.onCreate(savedInstanceState); 
  9. 9           setContentView(R.layout.polys); 
  10. 10          graphic2dView 
  11. 11           = (GuidebeeGraphics2DView) 
  12. 12             findViewById(R.id.graphics2dview); 
  13. 13          radioPath = (RadioButton) findViewById(R.id.radioPath); 
  14. 14          radioPoly = (RadioButton) findViewById(R.id.radioPolys); 
  15. 15          radioPath.setOnClickListener(this); 
  16. 16          radioPoly.setOnClickListener(this); 
  17. 17      } 
  18. 18    
  19. 19      @Override 
  20. 20      protected void drawImage() { 
  21. 21          if (radioPoly.isChecked()) { 
  22. 22              drawPolys(); 
  23. 23          } else { 
  24. 24              drawPaths(); 
  25. 25          } 
  26. 26          graphic2dView.refreshCanvas(); 
  27. 27    
  28. 28      } 
  29. 29    
  30. 30      @Override 
  31. 31      public void onClick(View view) { 
  32. 32          drawImage(); 
  33. 33      } 
  34. 34    
  35. 35      private void drawPaths() { 
  36. 36          AffineTransform mat1; 
  37. 37    
  38. 38          // The path. 
  39. 39          com.mapdigit.drawing.geometry.Path path; 
  40. 40    
  41. 41          // Colors 
  42. 42          Color redColor = new Color(0x96ff0000true); 
  43. 43          Color greenColor = new Color(0xff00ff00); 
  44. 44          Color blueColor = new Color(0x750000fftrue); 
  45. 45    
  46. 46          String pathdata 
  47. 47             = "M 60 20 Q -40 70 60 120 Q 160 70 60 20 z"
  48. 48          mat1 = new AffineTransform(); 
  49. 49          mat1.translate(3040); 
  50. 50          mat1.rotate(-30 * Math.PI / 180.0); 
  51. 51          path = com.mapdigit.drawing.geometry.Path.fromString(pathdata); 
  52. 52          // Clear the canvas with white color. 
  53. 53          graphics2D.clear(Color.WHITE); 
  54. 54    
  55. 55          graphics2D.setAffineTransform(new AffineTransform()); 
  56. 56          SolidBrush brush = new SolidBrush(greenColor); 
  57. 57          graphics2D.fill(brush, path); 
  58. 58          graphics2D.setAffineTransform(mat1); 
  59. 59    
  60. 60          brush = new SolidBrush(blueColor); 
  61. 61          com.mapdigit.drawing.Pen pen 
  62. 62             = new com.mapdigit.drawing.Pen(redColor, 5); 
  63. 63          graphics2D.setPenAndBrush(pen, brush); 
  64. 64          graphics2D.draw(null, path); 
  65. 65          graphics2D.fill(null, path); 
  66. 66    
  67. 67      } 
  68. 68    
  69. 69      private void drawPolys() { 
  70. 70          AffineTransform mat1; 
  71. 71    
  72. 72          // Colors 
  73. 73          Color redColor = new Color(0x96ff0000true); 
  74. 74          Color greenColor = new Color(0xff00ff00); 
  75. 75          Color blueColor = new Color(0x750000fftrue); 
  76. 76    
  77. 77          Polyline polyline; 
  78. 78          Polygon polygon; 
  79. 79          Polygon polygon1; 
  80. 80    
  81. 81          String pointsdata1 
  82. 82          = "59,45,95,63,108,105,82,139,39,140,11,107,19,65"
  83. 83          mat1 = new AffineTransform(); 
  84. 84          mat1.translate(3040); 
  85. 85          mat1.rotate(-30 * Math.PI / 180.0); 
  86. 86          polyline = new Polyline(); 
  87. 87          polygon = new Polygon(); 
  88. 88          polygon1 = new Polygon(); 
  89. 89          Point[] points = Point.fromString(pointsdata1); 
  90. 90          for (int i = 0; i < points.length; i++) { 
  91. 91              polyline.addPoint(points[i].x, points[i].y); 
  92. 92              polygon.addPoint(points[i].x, points[i].y); 
  93. 93              polygon1.addPoint(points[i].x, points[i].y); 
  94. 94          } 
  95. 95          // Clear the canvas with white color. 
  96. 96          graphics2D.clear(Color.WHITE); 
  97. 97    
  98. 98          graphics2D.setAffineTransform(new AffineTransform()); 
  99. 99          SolidBrush brush = new SolidBrush(greenColor); 
  100. 100         graphics2D.fillPolygon(brush, polygon); 
  101. 101         graphics2D.setAffineTransform(mat1); 
  102. 102   
  103. 103         brush = new SolidBrush(blueColor); 
  104. 104         com.mapdigit.drawing.Pen pen 
  105. 105            = new com.mapdigit.drawing.Pen(redColor, 5); 
  106. 106         graphics2D.setPenAndBrush(pen, brush); 
  107. 107         graphics2D.fillPolygon(null, polygon1); 
  108. 108         graphics2D.drawPolyline(null, polyline); 
  109. 109   
  110. 110     } 
  111. 111   
  112. 112 } 

責任編輯:閆佳明 來源: imobilebbs
相關推薦

2013-12-26 15:43:07

Android開發Android應用Activities

2013-12-26 15:10:08

Android開發應用和框架Linux 內核

2013-12-27 13:00:30

Android開發Android應用Context Men

2013-12-26 15:18:09

Android開發安裝開發環境

2013-12-27 15:11:17

Android開發訪問Internet繪制在線地圖

2013-12-27 14:34:46

Android開發Android應用短信觸發示例

2013-12-26 16:33:24

Android開發Android應用引路蜂二維圖形繪制

2013-12-27 14:05:22

Android開發Android應用Dialog

2013-12-27 14:16:43

Android開發Android應用線程

2013-12-26 15:34:19

Android開發Android應用基本概念

2013-12-27 13:49:22

Android開發Android應用Button

2013-12-26 16:59:12

Android開發Android應用數據綁定Data Bi

2013-12-26 16:24:13

Android開發Android應用Intents

2013-12-27 12:51:44

Android開發Android應用引路蜂

2013-12-27 16:06:10

Android開發Android應用發布應用

2013-12-26 15:46:30

Android開發Android應用用戶界面設計

2013-12-26 16:46:21

2013-12-27 15:31:26

Android開發Android應用資源Resources

2013-12-26 17:08:36

Android開發Android應用自定義Adapter顯

2013-12-27 12:42:15

Android開發Android應用引路蜂
點贊
收藏

51CTO技術棧公眾號

中文字幕一区二区三区四区不卡 | 男人天堂午夜在线| 全球av集中精品导航福利| 亚洲精品国产第一综合99久久| 日韩av免费在线| 香蕉视频免费在线| 99国产精品视频免费观看一公开| 欧美日韩一区二区三区免费看| 日本精品一区二区三区不卡无字幕| 国产综合香蕉五月婷在线| 成人毛片av在线| 国产综合精品| 欧美一区二区三区色| 亚洲看片网站| 小说区图片区亚洲| 国产精品久久福利| 亚洲xxxxx电影| 美洲精品一卡2卡三卡4卡四卡| 国产精品伊人色| 欧美激情中文字幕乱码免费| 在线看你懂得| 日本成人中文字幕在线视频| 色偷偷av一区二区三区| 成年人福利视频| 久久经典综合| 欧美日韩成人精品| 亚洲一区二区三区成人| 免费永久网站黄欧美| 欧美成年人网站| 青春草在线观看 | 美女网站色91| 97精品一区二区视频在线观看| 国产大学生校花援交在线播放| 国产美女在线精品| 91日本在线观看| 福利视频一区| 在线精品国精品国产尤物884a| 黄色三级中文字幕| 国内精品嫩模av私拍在线观看| 亚洲男人天堂2024| 日韩av视屏| 国产日韩精品久久久| 亚洲精品成人三区| 欧美理论在线播放| 日韩在线视频线视频免费网站| 大片免费播放在线视频| 中文字幕中文字幕在线一区| 国产经典久久久| 欧美日韩国产欧| 欧美疯狂做受xxxx高潮| 涩涩涩在线视频| 91麻豆精品久久久久蜜臀| 制服丝袜中文字幕在线观看| 不卡一区二区中文字幕| 亚洲高清在线观看一区| 影音先锋久久久| 国产日韩精品在线| 国产美女撒尿一区二区| 最近2019中文免费高清视频观看www99| 午夜免费福利在线观看| 午夜电影久久久| av777777| 国产精品久久久久久久久晋中 | 国产福利在线视频| 亚洲一区免费观看| 日日躁夜夜躁aaaabbbb| 99久久精品国产一区二区三区| 在线观看成人av电影| 欧美资源在线| 久久国产精品久久| 在线成人黄色| 国产精品免费一区二区| 综合天堂久久久久久久| 日韩免费精品视频| 亚洲精品国产九九九| 久久精品国产电影| 麻豆视频久久| 久久久久久久久久久av| 色8久久久久| 日韩中文在线中文网在线观看| 成人日韩在线观看| 最近2019年中文视频免费在线观看| 卡通欧美亚洲| 国产丝袜一区二区| 韩国精品视频在线观看| 久久精品这里热有精品| 成人污污视频| 97在线视频国产| 久久国产影院| 国产精品视频免费一区二区三区| 最新成人av网站| 日本不卡二区| 国产精品自在在线| 少妇一级淫免费放| 亚洲成人av在线电影| 精品国产白色丝袜高跟鞋| 精品久久久久久最新网址| 国产欧美在线观看免费| 91国在线精品国内播放| 欧美日韩福利| 国产精品无码电影在线观看| 国产亚洲精品bt天堂精选| 日韩欧美亚洲一区| 欧美精品久久99久久在免费线 | 欧美日韩午夜电影网| 国产精品福利在线| 嫩草成人www欧美| 波多野结衣家庭教师在线播放| 亚洲狼人国产精品| 性欧美1819sex性高清大胸| 色偷偷av亚洲男人的天堂| 久久成人av| 欧洲视频一区二区三区| 91农村精品一区二区在线| 天堂中文在线资| 伊人久久免费视频| 国产韩日影视精品| 吴梦梦av在线| 亚洲国产色一区| 韩日成人影院| 91老司机在线| 91丨porny丨最新| aⅴ在线视频男人的天堂| 久久久999精品| 国产视频一区在线观看一区免费| aa免费在线观看| 欧美日韩成人综合天天影院| 中文字幕一区二区三区中文字幕| 99精彩视频在线观看免费| 久久久亚洲高清| 手机av免费在线| 97久久精品人搡人人玩| 久久精品久久精品| 蜜臀一区二区三区| 久久成人这里只有精品| 日韩不卡一二三区| 中文字幕一二三区在线观看| 久久久极品av| 蜜桃视频在线观看一区二区| 在线视频手机国产| 久久久久久国产免费| 久久精品久久99精品久久| 国产三级在线免费观看| 欧美裸体xxxx极品少妇| 毛片不卡一区二区| fc2在线中文字幕| 国产精品爽黄69天堂a| 国产嫩草影院久久久久| 自拍视频在线看| 日韩wuma| 欧美一区二区三区性视频| 最新国产精品久久久| 在线黄色国产电影| 欧美精品久久久久久久久久| 床上的激情91.| 欧美××××黑人××性爽| 亚洲成人网上| 欧美一区二区三区视频免费播放 | 亚洲欧美另类小说视频| 亚洲无线观看| 欧美激情成人网| 精品国产一区二区在线| 国产二区国产一区在线观看| а√在线天堂官网| 亚洲国产精品久久久久久女王| 欧美日韩精品福利| 999亚洲国产精| 青青草视频免费在线观看| 成人综合网网址| 欧美性猛交xxxx乱大交蜜桃| 一区二区影院| 你懂的免费在线观看| 99视频在线播放| 欧美系列一区二区| 一区二区福利| 日本孕妇大胆孕交无码| 在线播放 亚洲| 丝袜亚洲另类欧美重口| 国产午夜精品美女毛片视频| 老司机aⅴ在线精品导航| a天堂中文在线官网| 91在线观看免费| 欧美一区二区三区人| 蜜桃视频在线观看一区| 99久久er| 在线看视频不卡| 日韩主播视频在线| 国产免播放器视频| 国产精品欧美久久久| 欧美日韩中文字幕在线| 亚洲香蕉网站| sis001亚洲原创区| 国产综合免费视频| 国产成人精品久久亚洲高清不卡| 日韩欧中文字幕| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品美女久久久久| 偷拍25位美女撒尿视频在线观看| 影音先锋亚洲视频| 日本成人激情视频|