首页 > 代码库 > Mono自定义图片按钮
Mono自定义图片按钮
首先,我们编写一个MyImageButton类,继承自LinearLayout
public class MyPhoneImageButton:LinearLayout { private ImageView mButtonImage = null; private TextView mButtonText = null; public MyPhoneImageButton (Context context) : base (context) { mButtonImage = new ImageView(context); mButtonText = new TextView(context); mButtonImage.SetPadding(0, 0, 0, 0); mButtonText.SetPadding(0, 0, 0, 0); //设置本布局的属性 Clickable = true; Focusable = true; AddView (mButtonText); AddView (mButtonImage); } public void setImageResource(int resId) { mButtonImage.SetImageResource(resId); } public void setText(string resId) { mButtonText.Text=resId; } public void setTextColor(int color) { mButtonText.SetTextColor(Resources.GetColor (color)); } }
然后在main布局中为我们自定义的Button写xml布局,注意,我们的“按钮”实际上是一个线性布局,因此xml中应该写LinearLayout而不是Button或者ImageButton
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tvPPhone" android:orientation="horizontal" />
最后,在Activity中为我们自定义的按钮设置监听
private LinearLayout llbtDataConfig = null; //main布局中包裹本按钮的容器 private MyPhoneImageButton btDataConfig = null; btDataConfig = new MyPhoneImageButton (this); btDataConfig.setTextColor (Resource.Color.text_color_projectInfo); btDataConfig.setText ("我是文字"); btDataConfig.setImageResource (Resource.Drawable.phone); llbtDataConfig=FindViewById<LinearLayout> (Resource.Id.tvPPhone); llbtDataConfig.AddView(btDataConfig); llbtDataConfig.SetOnClickListener (new llbtDataConfig_Click()); //监听事件继承 public class llbtDataConfig_Click : Java.Lang.Object, View.IOnClickListener { public void OnClick(View v) { } }
另外发现监听不如点击事件好用。
llbtDataConfig.Click += (object sender, EventArgs e) => { llbtDataConfig_Click (); };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。