上回我们已经实现了一个简单的自定义控件(不知道的朋友戳这里)
只是这里的控件还不能给它添加点击事件,也不能给他人方便的调用
接下来就给大家介绍一下解决的办法:接口回调
1.首先需要在我们的Topbar.java里添加接口
//回调接口
public static interface TopbarClickListener{
public void leftClick();
public void rightClick();
}
接着给我们的Button设置监听事件(同样在Topbar.java里)
leftButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
listener.leftClick();
}
});
rightButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
listener.rightClick();
}
});
内部给一个设置监听事件的方法
public void setOnTopbarClickListener(TopbarClickListener topbarClickListener){
listener = topbarClickListener;
}
2.这时我们在主程序里就可以调用了(MainActivity.java)
topBar = (Topbar) findViewById(R.id.topBar);
topBar.setOnTopbarClickListener(new TopbarClickListener() {
@Override
public void rightClick() {
Toast.makeText(MainActivity.this, "RightButton", Toast.LENGTH_SHORT).show();
}
@Override
public void leftClick() {
Toast.makeText(MainActivity.this, "LeftButton", Toast.LENGTH_SHORT).show();
}
});
3.好了,试试效果吧
点击Back
点击More
4.此时如果你还想将你的自定义控件给别人使用,右击工程——>Properties——>勾上Is Library
看jar包已经生成了