Android 开发入门-创建自定义控件

安卓控件和布局的继承结构:

Android 开发入门-创建自定义控件_第1张图片

3.4.1 引入布局

# app/src/main/res/layout/title.xml




    # 返回按钮
    
# app/src/main/res/layout/activity_main.xml



    
    # 使用上面创建的标题栏
    
    
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 隐藏系统自带的标题栏
        ActionBar actionbar = getSupportActionBar();
        if (actionbar != null) {
            actionbar.hide();
        }
    }
}

3.4.2 创建自定义控件

# app/src/main/java/com/example/uicustomviews/TitleLayout.java 

public class TitleLayout extends LinearLayout {

    // 构造函数
    public TitleLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
        // 动态加载布局文件
        LayoutInflater.from(context).inflate(R.layout.title, this);
        
        Button titleBack = (Button) findViewById(R.id.title_back);
        Button titleEdit = (Button) findViewById(R.id.title_edit);
        
        titleBack.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                ((Activity) getContext()).finish();
            }
        });
        
        titleEdit.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(), "You clicked Edit button",
                        Toast.LENGTH_SHORT).show();
            }
        });
    }

}



    # 添加自定义控件
    

你可能感兴趣的:(android)