首页 > 其他 > 详细

Mono自定义图片按钮

时间:2014-07-15 09:49:51      阅读:327      评论:0      收藏:0      [点我收藏+]

首先,我们编写一个MyImageButton类,继承自LinearLayout

bubuko.com,布布扣
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)); 
        } 


    }
View Code

然后在main布局中为我们自定义的Buttonxml布局,注意,我们的“按钮”实际上是一个线性布局,因此xml中应该写LinearLayout而不是Button或者ImageButton

 

bubuko.com,布布扣
  <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/tvPPhone"
                android:orientation="horizontal" />
View Code

 

最后,在Activity中为我们自定义的按钮设置监听

 

bubuko.com,布布扣
        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)  
            {  


            }  
        }
View Code

 

另外发现监听不如点击事件好用。

            llbtDataConfig.Click += (object sender, EventArgs e) => {
                llbtDataConfig_Click ();
            };

 

 

 

 

Mono自定义图片按钮,布布扣,bubuko.com

Mono自定义图片按钮

原文:http://www.cnblogs.com/phinex/p/3843957.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!