日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

android UI繪制加減號按鈕

瀏覽:23日期:2022-09-17 16:27:26

本文實例為大家分享了android UI繪制加減號按鈕的具體代碼,供大家參考,具體內容如下

在項目中我們常常會用到這么一個view。

android UI繪制加減號按鈕

這時候我們會選擇使用兩個圖片來相互切換。其實,只要會基本的2D繪圖這樣簡單的圖片自己繪制出來不在話下。

先給出我做出來的效果圖:

android UI繪制加減號按鈕

接下來,我將給出加號減號繪制的代碼以供大家參考:

以下是關鍵代碼

/** * +號 */public class AddView extends View { protected Paint paint; protected int HstartX, HstartY, HendX, HendY;//水平的線 protected int SstartX, SstartY, SsendX, SsendY;//垂直的線 protected int paintWidth = 2;//初始化加號的粗細為10 protected int paintColor = Color.BLACK;//畫筆顏色黑色 protected int padding = 3;//默認3的padding public int getPadding() {return padding; } //讓外界調用,修改padding的大小 public void setPadding(int padding) {SsendY = HendX = width - padding;SstartY = HstartX = padding; } //讓外界調用,修改加號顏色 public void setPaintColor(int paintColor) {paint.setColor(paintColor); } //讓外界調用,修改加號粗細 public void setPaintWidth(int paintWidth) {paint.setStrokeWidth(paintWidth); } public AddView(Context context, AttributeSet attrs) {super(context, attrs);initView(); } private void initView() {paint = new Paint();paint.setColor(paintColor);paint.setStrokeWidth(paintWidth); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int widthSize = MeasureSpec.getSize(widthMeasureSpec);int widthMode = MeasureSpec.getMode(widthMeasureSpec);int width;if (widthMode == MeasureSpec.EXACTLY) { // MeasureSpec.EXACTLY表示該view設置的確切的數值 width = widthSize;} else { width = 60;//默認值}SstartX = SsendX = HstartY = HendY = width / 2;SsendY = HendX = width - getPadding();SstartY = HstartX = getPadding();//這樣做是因為加號寬高是相等的,手動設置寬高setMeasuredDimension(width, width); } @Override protected void onDraw(Canvas canvas) {super.onDraw(canvas);//水平的橫線canvas.drawLine(HstartX, HstartY, HendX, HendY, paint);//垂直的橫線canvas.drawLine(SstartX, SstartY, SsendX, SsendY, paint); }}

/** * -號 */public class RemoveView extends AddView { public RemoveView(Context context, AttributeSet attrs) {super(context, attrs); } @Override protected void onDraw(Canvas canvas) {//水平的橫線,減號不需要垂直的橫線了canvas.drawLine(HstartX, HstartY, HendX, HendY, paint); }}

其中主要的是計算橫線和豎線的位置。獲得view的寬度后,將view設置成正方形,然后就如如所示:

android UI繪制加減號按鈕

這樣,最主要的加減號做完了,其他的都是小意思了。

我把主要的xml文件貼出來:

主視圖:layout_add_remove.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:layout_margin='3dp' android:padding='2dp' android:background='@drawable/bg_add_remove_view' android:orientation='horizontal'> <com.android.ui.TextView.AddViewandroid: android:layout_width='50dp'android:layout_height='50dp'android:layout_gravity='center_vertical'android:background='@drawable/bg_add_view' /> <EditTextandroid:layout_width='wrap_content'android:layout_height='wrap_content'android:layout_gravity='center_vertical'android:layout_margin='3dp'android:background='@null'android:inputType='number'android:text='0' /> <com.android.ui.TextView.RemoveViewandroid: android:layout_width='50dp'android:layout_height='50dp'android:layout_gravity='center_vertical'android:background='@drawable/bg_remove_view' /></LinearLayout>

主視圖背景:bg_add_remove_view.xml

<?xml version='1.0' encoding='utf-8'?><shape xmlns:android='http://schemas.android.com/apk/res/android' android:shape='rectangle'> <!-- 設置圓角矩形 --> <corners android:radius='5dp' /> <!-- 文本框里面的顏色 --> <solid android:color='@android:color/white' /> <!-- 邊框的顏色 --> <strokeandroid: android:color='@android:color/darker_gray' /></shape>

加號背景:bg_add_view.xml

<?xml version='1.0' encoding='utf-8'?><selector xmlns:android='http://schemas.android.com/apk/res/android'><item android:drawable='@drawable/bg_add_true' android:state_pressed='true' /><item android:drawable='@drawable/bg_add_false' android:state_pressed='false' /></selector>

<?xml version='1.0' encoding='utf-8'?><layer-list xmlns:android='http://schemas.android.com/apk/res/android'> <!-- 邊框的顏色 --> <item><shape> <solid android:color='@android:color/darker_gray' /></shape> </item> <itemandroid:bottom='0dp'android:left='0dp'android:right='0.5dp'android:top='0dp'><!--設置只有底部有邊框--><shape> <!-- 主體背景顏色值 --> <solid android:color='@android:color/darker_gray' /></shape> </item></layer-list>

<?xml version='1.0' encoding='utf-8'?><layer-list xmlns:android='http://schemas.android.com/apk/res/android'> <!-- 邊框的顏色 --> <item><shape> <solid android:color='@android:color/darker_gray' /></shape> </item> <itemandroid:bottom='0dp'android:left='0dp'android:right='0.5dp'android:top='0dp'><!--設置只有底部有邊框--><shape> <!-- 主體背景顏色值 --> <solid android:color='@android:color/white' /></shape> </item></layer-list>

減號的背景色配置和加號一樣,只不過豎線的位置不同而已:

<itemandroid:bottom='0dp'android:left='0.5dp'android:right='0dp'android:top='0dp'>

我們可以在完全不用圖片的情況下完成這個ui。

當然,還有很多可以優化的地方。比如設置padding,修改加減號顏色,就該布局大小,這些都是可以通過代碼來實現的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲激精日韩激精欧美精品| 亚洲精品欧美| 欧美激情福利| 蜜桃免费网站一区二区三区| 欧美精选一区二区三区| 夜鲁夜鲁夜鲁视频在线播放| 日本视频一区二区| 中文字幕一区二区精品区| 视频一区二区三区在线| 亚洲一区二区免费在线观看| 蜜桃久久av| 日韩精品免费一区二区夜夜嗨| 亚洲精品欧美| 人人爱人人干婷婷丁香亚洲| 国产毛片精品久久| 国内精品美女在线观看| 国产精品久久久久久久久久10秀 | 精品日韩视频| 欧美日韩激情| 免费中文字幕日韩欧美| 中文亚洲欧美| 欧美一区成人| 成人黄色av| 亚洲精品国产嫩草在线观看| 欧美日韩精品免费观看视完整| 午夜欧美巨大性欧美巨大| se01亚洲视频 | 欧美日韩视频网站| 国产精品久久久久久久免费观看| 久久精品一区二区国产| 麻豆视频一区二区| 久久这里只有| 97久久精品| 青青草91久久久久久久久| 亚洲精品黄色| 国产福利资源一区| 国产激情欧美| 精品欧美日韩精品| 日韩亚洲一区在线| 久久久影院免费| 9久re热视频在线精品| 蜜臀av一区二区在线免费观看 | 精品日韩视频| 亚洲综合在线电影| 国产一区日韩一区| 国产精品试看| 日本不卡视频一二三区| 久久国产乱子精品免费女| 国产精东传媒成人av电影| 国产九九精品| 福利视频一区| 亚洲va中文在线播放免费| 日本少妇一区| 美国欧美日韩国产在线播放| 日本在线成人| 丝袜美腿亚洲色图| 亚洲3区在线| 麻豆视频久久| 亚洲1234区| 亚洲欧美视频| 国产欧美另类| 欧洲一区二区三区精品| 极品日韩av| 日本伊人午夜精品| 麻豆成人91精品二区三区| 视频福利一区| 亚洲精品在线二区| 国产精品99精品一区二区三区∴| 国产一区丝袜| 亚洲欧美久久久| 麻豆免费精品视频| 黄色成人在线网址| 日韩精品一区二区三区中文在线| 欧美激情91| 在线日韩欧美| 亚洲综合色婷婷在线观看| 日韩中文字幕视频网| 97国产成人高清在线观看| 日韩中文字幕一区二区三区| 欧美精品不卡| 亚洲精品小说| 国产欧美日韩一级| 欧美丝袜一区| 国产亚洲精品美女久久久久久久久久| 在线手机中文字幕| 国产日韩高清一区二区三区在线| 国内亚洲精品| 欧美日韩va| 日韩欧美一区二区三区在线视频 | 国产高清亚洲| 另类亚洲自拍| 欧美国产专区| 国内激情久久| 青青国产精品| 欧美/亚洲一区| 国产日韩欧美三级| 日韩亚洲国产欧美| 精品视频在线观看网站| 久久久五月天| 国产精品99精品一区二区三区∴| 欧美日韩免费观看一区=区三区| 麻豆传媒一区二区三区| 先锋影音久久久| 国产成人精品福利| 亚洲精品自拍| 亚洲精品午夜av福利久久蜜桃| 久久av影视| 蜜臀久久99精品久久久久宅男| 国产一区二区三区精品在线观看| 久久亚洲精品伦理| 99成人超碰| 欧美精品二区| 日韩成人在线看| 少妇精品导航| 欧美国产不卡| 日本不卡在线视频| 激情91久久| 超碰在线99| 国产精品一区2区3区| 中文无码久久精品| 午夜国产一区二区| 成人国产精品一区二区免费麻豆| 日本不卡视频在线| 亚洲激情婷婷| 欧美99久久| 美女av在线免费看| 日韩国产在线一| 亚洲一区免费| 黑丝一区二区| 婷婷成人在线| 亚洲免费福利| 精品视频自拍| 欧美国产日本| 国产欧美另类| 日韩av电影一区| 中文字幕日本一区二区| 亚洲福利精品| 色婷婷精品视频| 亚洲天堂av影院| 福利一区视频| 精品一二三区| 免费一级欧美在线观看视频| 国产亚洲精品美女久久久久久久久久| 丝袜美腿高跟呻吟高潮一区| 欧美日韩高清| 午夜久久免费观看| 在线国产一区二区| 亚洲精华国产欧美| 亚洲一区免费| 免费看的黄色欧美网站| 99在线观看免费视频精品观看| 国产在线成人| 激情综合激情| 99国内精品| 在线一区欧美| 激情婷婷久久| 久久精品日韩欧美| 国产精选在线| 亚洲国产福利| 国产剧情一区| 久久免费精品| 成人在线视频区| 成人精品动漫一区二区三区| 国语对白精品一区二区| 国产精品久久观看| 亚洲成av在线| 自拍日韩欧美| 丝袜a∨在线一区二区三区不卡| 亚洲欧美高清| 日韩在线观看中文字幕| 日韩一区二区三区四区五区| 日韩在线一二三区| 日韩激情av在线| 国产精品sm| 国产一区二区三区亚洲| 日韩在线中文| 欧美成人久久| 每日更新成人在线视频| 综合激情视频| 久久av资源| 成人片免费看| 不卡在线一区二区| 99久久激情| 超碰在线99| 亚洲欧美成人综合| 国产欧美日韩影院| 大香伊人久久精品一区二区 | 午夜视频精品| 日韩精品福利一区二区三区| 国产精品白丝av嫩草影院| 国产精品精品| 国产亚洲午夜| 国产精品久久久久9999高清| 成人日韩av| 91精品一区二区三区综合| 久久xxxx精品视频| 国产麻豆精品久久| 999久久久亚洲| 亚洲精品日本| 另类欧美日韩国产在线|