第二篇博客。
首先,我们的思路是让我们的写一个基础的Activity,让要使用通用控件的Activity继承它,代码如下:
import android.app.Activity; import android.view.View; import android.widget.ImageView; import android.widget.Toast; /** * Created by baikunlong on 2018/6/16. */ public class BaseActivity extends Activity implements View.OnClickListener { @Override protected void onResume() { super.onResume(); //等到页面创建好了就可以设置监听事件了 Toast.makeText(this, "onResume", Toast.LENGTH_SHORT).show(); ImageView iv_back = findViewById(R.id.iv_back); iv_back.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.iv_back://通用的返回按钮 Toast.makeText(this, "点击了返回", Toast.LENGTH_SHORT).show(); //finish(); break; } }}
接下来创建一个要使用通用控件的Activity继承它:
import android.os.Bundle; import android.support.annotation.Nullable; /** * Created by baikunlong on 2018/6/16. */ public class GroupActivity extends BaseActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_group); } }
然后就是布局里引入控件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:id="@+id/rl_title" android:layout_width="match_parent" android:layout_height="46dp" android:background="@drawable/shape_gradient_title"> <include layout="@layout/btn_back" /> </RelativeLayout> </RelativeLayout>
效果图如上。