Android 自定義寬高的ImageView

2021-08-22 11:52:11 字數 881 閱讀 7314

我們先在styles.xml中自定義屬性

然後我們在自定義view中去獲取這個屬性:

public class myimageview extends imageview 

typedarray typedarray = context.obtainstyledattributes(attrs, r.styleable.myimageview);

//根據屬性名稱獲取對應的值,屬性名稱的格式為類名_屬性名

ratio = typedarray.getfloat(r.styleable.myimageview_ratio, 0.0f);

}@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec) else if(widthmode!=measurespec.exactly&&heightmode==measurespec.exactly&ratio!=0)else

//必須呼叫下面的兩個方法之一完成onmeasure方法的重寫,否則會報錯

// super.onmeasure(widthmeasurespec,heightmeasurespec);

setmeasureddimension(widthmeasurespec,heightmeasurespec);

}/**

* 設定寬高比

* @param ratio

*/public void setratio(float ratio)

}

最後我們在布局檔案中使用這個自定義的imageview

自定義dialog設定寬高

動態設定自定義dialog的顯示內容的寬和高 windowmanager m getwindowmanager display d m.getdefaultdisplay 為獲取螢幕寬 高 android.view.windowmanager.layoutparams p progressdialo...

Android自定義控制項 自定義屬性

自定義屬性的過程 1.在res values資料夾中建立attrs的xml檔案。2.寫入標籤,定義子標籤attr,放入自定義屬性的名稱。format 可以用 來同時使用 1 reference 參考某一資源id 2 color 顏色值 3 boolean 布林值 4 dimension 尺寸值 帶有...

Android自定義View 自定義元件

自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...