为了账号安全,请及时绑定邮箱和手机立即绑定

android自定义控件理解

标签:
Android

public View (Context context)是在java代码创建视图的时候被调用,如果是从xml填充的视图,就不会调用这个
public View (Context context, AttributeSet attrs)这个是在xml创建但是没有指定style的时候被调用
public View (Context context, AttributeSet attrs, int defStyle)

所以在有两个参数的构造函数内初始化,因为在mainactivity.xml里其是通过xml填充的

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >
    <com.example.personalview.MyButton
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/mybtn"
        android:background="#00ffdd"
        />
</LinearLayout>

public class MyButton extends LinearLayout {
ImageView image;
TextView text;
public MyButton(Context context) {
super(context);
}
 public MyButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.mybutton, this);
        image=(ImageView) findViewById(R.id.image);
        text=(TextView)findViewById(R.id.text);
    }
     
public void setImage(int res)
{
image.setImageResource(res);
}
public void setText(String str)
{
text.setText(str);
}
}

原文链接:http://www.apkbus.com/blog-669109-59088.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消