当前位置: 移动技术网 > IT编程>移动开发>Android > Android开发自定义控件全解

Android开发自定义控件全解

2019年04月18日  | 移动技术网IT编程  | 我要评论

历届河南省委书记,杨幂观影见面会 纤细长腿太抢眼,龙年快乐网址365dvd

android开发自定义控件全解,安卓自定义控件:包含linearlayout、relativelayout、gridview、button等。

本文以linearlayout为例

首先要有一个自定义xml布局文件

我们这里存储下面的代码为ui_linearlayout.xml文件



  

自定义控件继承自linearlayout

在自定义控件的绑定布局文件,并进行相应的ui初始化,添加自定义的属性和方法。

//自定义组合控件
public class ui_linearlayout extends linearlayout{  
      private view view;
      private layoutinflater layoutinflater;
      private edittext edittext;
      private button clearbutton;

      public ui_linearlayout(context context) {   //自己定义构造函数,可以传递想要的数据进来
        super(context);

        //使用布局资源填充视图
        string infservice = context.layout_inflater_service;
        layoutinflater = (layoutinflater)getcontext().getsystemservice(infservice);  //layoutinflater=layoutinflater.from(context);
        view = layoutinflater.inflate(r.layout.ui_linearlayout, this, true);   //获取当前控件的引用,使用this也行
        //获取对子控件的引用
        edittext = (edittext)findviewbyid(r.id.ui_linearlayout_edittext);
        clearbutton = (button)findviewbyid(r.id.ui_linearlayout_clearbutton);
        //也可以使用代码自己添加
      }

    //组合控件的自定义函数
    private void fun1(string str,drawable images,onclicklistener onclick){
        edittext.settext(str);
        clearbutton.setbackgrounddrawable(images);
        clearbutton.setonclicklistener(onclick);
    }

在activity中添加自定义控件

relativelayout relativelayout = (relativelayout)findviewbyid(r.id.activity1_relativelayout1);
ui_linearlayout myview = new ui_linearlayout(this);
relativelayout .addview(myview);
//myview.fun1(str, images, onclick);   //调用内部函数

在窗口ui布局的xml中添加自定义控件

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网