我們先在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...