内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Android自定義View模仿虎撲直播界面的打賞按鈕功能-創(chuàng)新互聯(lián)

前言

目前成都創(chuàng)新互聯(lián)公司已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、南豐網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

作為一個(gè)資深籃球愛(ài)好者,我經(jīng)常會(huì)用虎撲app看比賽直播,后來(lái)注意到文字直播界面右下角加了兩個(gè)按鈕,可以在直播過(guò)程中送虎撲幣,為自己支持的球隊(duì)加油。

具體的效果如下圖所示:


我個(gè)人覺(jué)得挺好玩的,所以決定自己實(shí)現(xiàn)下這個(gè)按鈕,廢話(huà)不多說(shuō),先看實(shí)現(xiàn)的效果吧:

這個(gè)效果看起來(lái)和popupwindow差不多,但我是采用自定義view的方式來(lái)實(shí)現(xiàn),下面說(shuō)說(shuō)過(guò)程。

實(shí)現(xiàn)過(guò)程

首先從虎撲的效果可以看到,它這兩個(gè)按鈕時(shí)浮在整個(gè)界面之上的,所以它需要和FrameLayout結(jié)合使用,因此我讓它的寬度跟隨屏幕大小,高度根據(jù)dpi固定,它的實(shí)際尺寸時(shí)這樣的:

另外這個(gè)view初始化出來(lái)我們看到可以分為三塊,背景圓、圓內(nèi)文字、圓上方數(shù)字,所以正常狀態(tài)下,只需要在onDraw方法中畫(huà)出這三塊內(nèi)容即可。先在初始化方法中將自定義的屬性和畫(huà)筆以及初始化數(shù)據(jù)準(zhǔn)備好:

private void init(Context context, AttributeSet attrs) {
//獲取自定義屬性
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.HoopView);
mThemeColor = typedArray.getColor(R.styleable.HoopView_theme_color, Color.YELLOW);
mText = typedArray.getString(R.styleable.HoopView_text);
mCount = typedArray.getString(R.styleable.HoopView_count);

mBgPaint = new Paint();
mBgPaint.setAntiAlias(true);
mBgPaint.setColor(mThemeColor);
mBgPaint.setAlpha(190);
mBgPaint.setStyle(Paint.Style.FILL);

mPopPaint = new Paint();
mPopPaint.setAntiAlias(true);
mPopPaint.setColor(Color.LTGRAY);
mPopPaint.setAlpha(190);
mPopPaint.setStyle(Paint.Style.FILL_AND_STROKE);

mTextPaint = new TextPaint();
mTextPaint.setAntiAlias(true);
mTextPaint.setColor(mTextColor);
mTextPaint.setTextSize(context.getResources().getDimension(R.dimen.hoop_text_size));

mCountTextPaint = new TextPaint();
mCountTextPaint.setAntiAlias(true);
mCountTextPaint.setColor(mThemeColor);
mCountTextPaint.setTextSize(context.getResources().getDimension(R.dimen.hoop_count_text_size));

typedArray.recycle();

mBigRadius = context.getResources().getDimension(R.dimen.hoop_big_circle_radius);
mSmallRadius = context.getResources().getDimension(R.dimen.hoop_small_circle_radius);
margin = (int) context.getResources().getDimension(R.dimen.hoop_margin);
mHeight = (int) context.getResources().getDimension(R.dimen.hoop_view_height);
countMargin = (int) context.getResources().getDimension(R.dimen.hoop_count_margin);

mDatas = new String[] {"1", "10", "100"};
// 計(jì)算背景框改變的長(zhǎng)度,默認(rèn)是三個(gè)按鈕
mChangeWidth = (int) (2 * mSmallRadius * 3 + 4 * margin);}

當(dāng)前題目:Android自定義View模仿虎撲直播界面的打賞按鈕功能-創(chuàng)新互聯(lián)
文章來(lái)源:http://www.rwnh.cn/article12/cscodc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、域名注冊(cè)、云服務(wù)器、用戶(hù)體驗(yàn)、虛擬主機(jī)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
金秀| 巧家县| 秦安县| 洛浦县| 平顶山市| 正蓝旗| 宜章县| 华坪县| 武强县| 论坛| 定陶县| 金乡县| 兴仁县| 富川| 原阳县| 湘西| 嘉峪关市| 亳州市| 苏尼特右旗| 九江市| 连城县| 崇阳县| 娄烦县| 和平区| 英德市| 卢龙县| 彰武县| 毕节市| 团风县| 大姚县| 武平县| 绿春县| 盐山县| 米易县| 康平县| 常宁市| 万州区| 米脂县| 揭阳市| 甘洛县| 巴里|