1. 程式人生 > >Android開發控制元件-VarietyImageView(百變ImageView,可以根據要求指定哪個角是圓角,哪個角是直角)

Android開發控制元件-VarietyImageView(百變ImageView,可以根據要求指定哪個角是圓角,哪個角是直角)

ImageView相信是Android開發人員再熟悉不過的一個控制元件了,在一般情況下基本的ImageView也都能滿足我們的開發需求,但相信大家也都遇到過ImageView無法滿足實際需求的情況,這次我就遇到了,先來看下需求:

1)可以設定成圓形ImageView

2)可以設定成圓角矩形ImageView

3)可以根據要求指定哪個角是圓角,哪個角是直角!!!

前兩個需求相信大多數同學都做過,不多說;

至於最後一個,先來看看已實現的效果圖,再進行剖析!

成果展示:

實現剖析:

我們在做圓形跟圓角矩形的時候會在onDraw()方法中分別呼叫canvas.drawCircle()和canvas.drawRoundRect()來進行相應的繪製。其中呼叫canvas.drawRoundRect()能將圓角矩形很好的畫出來,但是這樣做會將四個角都畫成圓角,而無法實現指定個別角為圓角。那怎麼辦呢?

既然canvas.drawRoundRect()只能把一個圓角矩形完整的畫出來,那我們先把這個圓角矩形畫出來,然後哪個角不希望它是圓角的,我們再把相應的直角畫回來就好了。這就是基本的實現思路了!具體的看程式碼吧!

VarietyImageView:

attr:

使用:

轉發請註明出處!!!

下載地址:http://download.csdn.net/detail/sinat_31841263/9906825

csdn:http://my.csdn.net/?ref=toolbar

相關推薦

Android開發控制元件-VarietyImageView(ImageView可以根據要求指定哪個圓角哪個直角)

ImageView相信是Android開發人員再熟悉不過的一個控制元件了,在一般情況下基本的ImageView也都能滿足我們的開發需求,但相信大家也都遇到過ImageView無法滿足實際需求的情況,這次我就遇到了,先來看下需求: 1)可以設定成圓形ImageView

Android開發——控制元件TextView的用法(常用屬性)

我們新建的Android Application專案一般會有幫我們寫好"Hello World!"顯示在我們的小手機中,這個"Hello World!"就是TextView控制元件寫出來的,下面我們就簡單地介紹一下"TextView"的用法,談一談它的基本屬性。 <

Android自定義控制元件-不同形狀的ImageView

實現分析: 依然是用到Paint的圖層混合模式, 1、畫一個你想要的形狀 || 圖片 2、修改Paint的圖層混合模式,畫圖片。 3、然後就能得到你想要的形狀的ImageView paint.setXfermode(new PorterDuffXfermode(Mode

android介面開發小結——android筆記---控制元件和佈局

控制元件簡介 ============================================================== 控制元件的設定主要依靠layout資料夾中的activity_main.xml設定 [html] view plaincopy

android studio開發 控制元件佈局

android:layout_width="match_parent"  //強制拉伸到父元素的寬度 android:layout_height="wrap_content" //自適應大小,強制性地使檢視擴充套件以便顯示其全部內容 android:lay

Android快速開發控制元件---下拉導航選單

LQRDropdownLayout 該專案是下拉導航選單,使用非常簡單。基於FilterDropDownMenu-master專案進行封裝,因為原專案的使用太複雜了,光佈局就得幾十行程式碼,如果專案中多處用到下拉選單,那程式碼的冗餘度就太大了,故本佈局對其進行

幾種Android表格控制元件

一、LockTableView GitHub:https://github.com/RmondJone/LockTableView 有基本功能(顯示資料),有上拉下拉,有點選事件,但其它功能(如新增按鈕等)需要二次開發。   二、PanelList GitHub:https://

Android CardView控制元件

相關文章 Android Snackbar控制元件 Android FloatingActionButton控制元件 Android Toolbar控制元件 Android AppBarLayout控制元件 Android CollapsingToolbarLayout控制元件 Andr

Android ViewStub控制元件

前言 使用ViewStub可以實現介面的延遲載入。 1. ViewStub簡單應用 (1) 佈局檔案 layout為載入View,inflatedId為載入後View的id。 <ViewStub android:id="@+id/view_stub"

Android ViewPager控制元件

前言 ViewPager可以實現多個介面的左右滑動。 1. ViewPager簡單應用 (1) 佈局檔案 <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:

android高階控制元件介紹

1. 高階控制元件與低階控制元件區別 高階控制元件需要介面卡 而低階不用 2. 介面卡種類  陣列介面卡 ArrayAdapter         new ArrayAdapter<String&

Android學習(六)—— Android高階控制元件

Android高階控制元件 1、ProgressBar 進度條,在執行耗時操作時來顯示,可以提高軟體的友好型。 常用屬性 android:max:進度條的最大值 android:progress:進度條已完成進度值 android:progressDrawable:設定軌道對應的Draw

Android學習(五)—— Android初級控制元件

Android初級控制元件 從今天開始就對Android進行正式的學習,首先先來學習一下初級的控制元件 1、TextView  文字框,用於顯示文字,不可編輯。 常用屬性 android:autoLink   設定是否當文字為URL連結/email/

Android 基礎控制元件(二)

##7.ImageView ImageView直接繼承View,也是非常常用的一種檢視控制元件。 示例程式碼: <ImageView android:id="@+id/testImage" android:layout_width="100dp" a

android 基礎控制元件————TextView

TextView是View的直接子類。它是一個文字顯示控制元件,提供了基本的顯示文字的功能,並且是大部分UI控制元件的父類,因為大部分UI控制元件都需要展示資訊。 如果僅僅是展示文字,那麼TextView的作用就太小了,所以它還預定義了一些類似於HTML的標籤,通過這些標籤可以使TextView

帶你徹底看懂React Native和Android原生控制元件之間的對映關係

此文基於react natve的 September 2018 - revision 5 版本 本人學校畢業後就當了安卓爬坑專業戶,3年來總算爬習慣了,不料今年掉進了RN這個天坑,從此開始了我的悲慘人生。。。Anyway,RN的思想還是值得學習的,今天就從Android的角度開始分析一下react nati

android高階控制元件(ListView) 列表控制元件

在strings中建立一個strings.xml,並定義字串陣列,用於當資料來源 張三 李四 王五 張三丰 abc abb

Android常用控制元件用執行緒寫一個進度條。

一、事件監聽(三種寫法) 1、標籤上直接繫結監聽方法       public void xxx(View view) 2、 建立監聽器物件,元件再繫結監聽器物件 2.1、匿名內部類 2.2、使用匿名內部類並定義成全域性的屬性 二、文字框(TextView) 1、T

Android 高階控制元件

一、ScrollView 二、ListView 三、自定義介面卡 BaseAdapter:是所有介面卡類的父類,可以對列表項進行最大限度的定製 自定義介面卡中的方法: getCount : 共有幾條資料 getView : 這個方法的作

Android高階控制元件ListView

BaseAdapter:是所有介面卡類的父類,可以對列表項進行最大限度的定製 1.1 自定義介面卡中的方法 getCount getView getItem getItemId 1.2 LayoutInflater(佈局解析器)