android - How to create a button of any form programmatically? -
i want create button properties.
- it can have form, color , placement.
 - these parameters can changed in application
 - the button can change colour on touch
 
i try use canvas,  draw , ontouchevent. there exists more simple , fast aproach? help. thank you!
you use xml file 1 below, create states button.
you copy xml file drawables folder in project, name example custom_button.xml.
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">  <item android:state_pressed="true" >     <shape android:shape="rectangle">         <solid             android:color="#00ff00" />         <stroke             android:width="5dp"             android:color="#ff0000"             android:dashwidth="3dp"             android:dashgap="2dp" />     </shape> </item>  <item android:state_focused="true" >     <shape>         <gradient             android:endcolor="#ffffff"             android:centercolor="#ffffff"             android:startcolor="#ffffff"             android:angle="270" />         <stroke             android:width="3dp"             android:color="#00ff00" />         <corners             android:radius="5dp" />         <padding             android:left="10dp"             android:top="10dp"             android:right="10dp"             android:bottom="10dp" />     </shape> </item>  <item>             <shape>         <gradient             android:endcolor="#ffffff"             android:centercolor="#ffffff"             android:startcolor="#ffffff"             android:angle="270" />         <stroke             android:width="5dp"             android:color="#00ff00" />         <corners             android:radius="5dp" />     </shape> </item>   and reference in layout following code in oncreate method
linearlayout layout = (linearlayout) findviewbyid(r.id.linear_layout_tags);          //set properties button         button btntag = new button(this);         btntag.setlayoutparams(new actionbar.layoutparams(actionbar.layoutparams.wrap_content, actionbar.layoutparams.wrap_content));         btntag.settext("button");         btntag.setid(some_random_id);         btntag.setbackground(getresources().getdrawable(r.drawable.custom_button));      
Comments
Post a Comment