android简单的自定义按钮,Android 自定义button简单示例
>>>>>>>>>>>>>>>>>>>
很多時候android常用的控件不能滿足我們的需求,那么我們就需要自定義一個控件了。今天做了一個自定義控件的實例,來分享下。
首先定義一個layout實現按鈕內部布局:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"?>
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="5dip"
android:paddingLeft="40dip"
android:paddingTop="5dip"
android:src="@drawable/right_icon"?/>
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:text="確定"
android:textColor="#000000"?/>
接下來寫一個類繼承LinearLayout,導入剛剛的布局,并且設置需要的方法,從而使的能在代碼中控制這個自定義控件內容的顯示。
public?class?ImageBtn?extends?LinearLayout?{
private?ImageView?imageView;
private?TextView??textView;
public?ImageBtn(Context?context)?{
super(context);
//?TODO?Auto-generated?constructor?stub
}
public?ImageBtn(Context?context,?AttributeSet?attrs)?{
super(context,?attrs);
//?TODO?Auto-generated?constructor?stub
LayoutInflater?inflater=(LayoutInflater)?context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.imagebtn,?this);
imageView=(ImageView)?findViewById(R.id.imageView1);
textView=(TextView)findViewById(R.id.textView1);
}
/**
*?設置圖片資源
*/
public?void?setImageResource(int?resId)?{
imageView.setImageResource(resId);
}
/**
*?設置顯示的文字
*/
public?void?setTextViewText(String?text)?{
textView.setText(text);
}
}
在需要使用這個自定義控件的layout中加入這控件,只需要在xml中加入即可。
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"?>
android:id="@+id/btn_right"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/btn"
/>
android:id="@+id/btn_error"
android:layout_marginLeft="5dp"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/btn"
/>
這里用到了背景圖片 在drawable/btn.xml
最后在activity中設置該控件,和其他控件差不多:
public?class?IdentifyButtonActivity?extends?Activity?{
private?ImageBtn?imageBtn1;
private?ImageBtn?imageBtn2;
@Override
protected?void?onCreate(Bundle?savedInstanceState)?{
//?TODO?Auto-generated?method?stub
super.onCreate(savedInstanceState);
setContentView(R.layout.identifybutton);
imageBtn1=(ImageBtn)?this.findViewById(R.id.btn_right);
imageBtn2=(ImageBtn)?this.findViewById(R.id.btn_error);
imageBtn1.setTextViewText("確定");
imageBtn2.setTextViewText("取消");
imageBtn1.setImageResource(R.drawable.right_icon);
imageBtn2.setImageResource(R.drawable.error_icon);
imageBtn1.setOnClickListener(new?View.OnClickListener()?{
public?void?onClick(View?v)?{
//?TODO?Auto-generated?method?stub
Toast.makeText(getApplicationContext(),?"點擊的正確按鈕",?1).show();
}
});
imageBtn2.setOnClickListener(new?View.OnClickListener()?{
public?void?onClick(View?v)?{
//?TODO?Auto-generated?method?stub
Toast.makeText(getApplicationContext(),?"點擊的錯誤按鈕",?1).show();
}
});
}
}
最后看看我們自定義控件的效果吧!
點擊后還有按下按鈕的效果。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的android简单的自定义按钮,Android 自定义button简单示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vc60如何输入c语言,vc60中如何编
- 下一篇: android sina oauth2.