1. 程式人生 > >android ImageView 圓角控制元件 設定上下左右某幾個為圓角

android ImageView 圓角控制元件 設定上下左右某幾個為圓角

需求描述:ImageView的上面兩個角為圓角,下面兩個角不變

解決方案:重寫ImageView控制元件,在onDraw方法中,設定Path來達到目的

控制元件程式碼如下:

public class RoundRectImageView extends ImageView {

    /*左上角xy半徑,右上角,右下角,左下角*/
private float[] rids = {10.0f, 10.0f, 10.0f, 10.0f, 0.0f, 0.0f, 0.0f, 0.0f,};
    public RoundRectImageView(Context context) {
        super(context);
}

@Override
protected void onDraw(Canvas canvas) { Path path = new Path(); int w = this.getWidth(); int h = this.getHeight();path.addRoundRect(new RectF(0, 0, w, h), rids, Path.Direction.CW);canvas.clipPath(path); super.onDraw(canvas);}}

上面控制元件中設定的是上面兩個叫為圓角,具體需求可改變對應引數來達到目的

相關推薦

android ImageView 圓角控制元件 設定上下左右圓角

需求描述:ImageView的上面兩個角為圓角,下面兩個角不變解決方案:重寫ImageView控制元件,在onDraw方法中,設定Path來達到目的控制元件程式碼如下:public class Roun

Android 當子控制元件設定 focusable=true 的事件不能點選的問題

今天開發遇到一個問題,就是開發電視的時候,item佈局中子控制元件 設定了 focusable 。ListView設定OnItem後,觸控有效,點選也有效。但是遙控器的點選事件是無效的。 設定之前

Android的常用控制元件和 ScaleType的8屬性

案例一:訊息提示框 1. Toast(吐絲框)   1.1 Toast是Android中的一種簡易的訊息提示框   1.2 使用這個類的最簡單的方法是呼叫靜態方法構造您所需要的一切,並返回一個新的Toast物件。       Toast toast=Toast.makeT

android控制元件設定邊框和圓角

首先在drawable目錄下寫一個roundCorner.xml <?xml version="1.0" encoding="UTF-8" ?> <layer-list xmln

Android開發之給控制元件設定圓角邊框

先上效果圖: 具體步驟: 1.在drawable資料夾下新建一個xml檔案。 2.在裡面填上以下內容: <?xml version="1.0" encoding="utf-8"?> <!--自定義的控制元件圓角背景--> <shape xm

iOS之用xib給控制元件設定圓角、邊框效果

轉自:https://www.cnblogs.com/zhun/p/5616540.html   xib中為各種控制元件設定圓角 通過程式碼的方式設定 @interface ViewController () @property (weak, nonatomic)

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

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

DataGridView控制元件設定一列單元格的小數點位數

方法一: 遍歷你的datagridview所要設定的列,用Match.Round(數值,2)for (int i = 0; i < dvData.Rows.Count; i++) {   dvData[列, i].Value = Math.Round(Co

工具類(控制元件設定圓角)

為了便於日常開發效率,因此建立了一些小的工具類便於使用. 具體 code 如下: 宣告: /* 為控制元件新增邊框樣式_工具類 */ #import <UIKit/UIKit.h> typedef NS_ENUM(NSInteger,LQQSideType

關於開發中遇到Binary XML file line #132: Error inflating class android.widget.Button關於圓角控制元件的錯誤

這個問題我近期遇到寫完登入註冊頁面邏輯以後出現這個問題找了很久但是沒明白是怎麼回事,後面進行一個一個的分析查詢最終定在了shape也就是圓角按鈕這個控制元件上面。 具體錯誤如下: 09-27 12:57:53.943 21021-21021/com.beta.zhuo

android控制元件設定背景透明度

在color檔案中直接定義即可 “29”是透明度,查一下Android 透明度alpha換算表,我們專案中需要16%的透明度,對應29; “#333333”是背景顏色值,設定透明的時候把查到的透明度對應的值放進去即可 https://blog.csdn.net/u012246458/articl

android開發時日期控制元件設定選擇範圍,再次點選時顯示上次選擇日期

下面做的是:28天<= 日期 <=65週歲 //計算28天前的日期 public static final long _MAX_TIME = 28 * 24 * 60 * 60 * 1000L;int inComingYear;int inComingMonth;int

SliderLayout控制元件設定圓角圖片

一、概述 最近專案中要求給輪播圖設定圓角,該專案的輪播用的是daimajia的AndroidImageSlider控制元件,github連結為https://github.com/daimajia/AndroidImageSlider 用該控制元件

Android Material適配 控制元件設定指定背景色和點選波紋效果

大部分時候,我們都需要為控制元件設定指定背景色和點選效果 4.x以下可以使用selector,5.0以上需要帶波紋效果,以下是實現該效果的方法。 比如實現Button的Material適配 <Button android:text

android design包的BottomSheetDialogFragment控制元件設定高度的方法

BottomSheetDialogFragment如果按照其他部落格的使用方法,直接用onCreateView方法設定佈局,初始化的話,而你的佈局中正好有listview recyclerview這種列表控制元件的話,彈出來的高度是有問題的,解決高度不能完全顯示的方法是,刪掉

Android FrameLayout佈局中的控制元件設定居中動態設定

Android FrameLayout 佈局檔案靜態設定裡面的控制元件時是預設左上角疊加的。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_w

Android動態佈局,並動態TextView控制元件設定drawableLeft、drawableRight等屬性新增圖示

注:(圖中每一個條目和圖示都是由程式碼動態生成) 程式碼動態佈局,並需要為每一個條目設定圖示,此時用到了 android:drawableLeft="@drawable/icon" 父x

android在滑動控制元件過程中動態設定view背景透明的問題

2、在網上找了資料才知道,在佈局中多個控制元件同時使用一個資源的時候,這些控制元件會共用一個狀態,例如ColorState,如果你改變了一個控制元件的狀態,其他的控制元件都會接收到相同的通知。這時我們可以使用mutate()方法使該控制元件狀態不定,這樣不定狀態的控制元件就不會共享自己的狀態了。

android線性佈局控制元件之間的距離設定

在android線性佈局中,兩個控制元件之間的距離可以設定: android:layout_marginBottom 離某元素底邊緣的距離 android:layout_marginLeft 離某元素左邊緣的距離 android:layout_marginRig

Android控制元件設定帶陰影背景

最簡單的方法就是用背景圖片了,哈哈,不過這裡說下用xml實現,主要用到<layer-list></layer-list>標籤,看例子: <TextView