电商_自定义ACTIONBAR

布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.ActionBarActivity">

    <com.example.myapplication.view.ActionBarView
        android:id="@+id/action_bar_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:text="我是第二个" />

</RelativeLayout>

Activity

package com.example.myapplication.activity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.example.myapplication.R;
import com.example.myapplication.view.ActionBarView;


//测试自定义 Title
public class ActionBarActivity extends AppCompatActivity {

    private ActionBarView mActionBarView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        mActionBarView = findViewById(R.id.action_bar_view);
        mActionBarView.setTitle("我是第二个页面");
    }
}

自定义View

package com.example.myapplication.view;

import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.example.myapplication.R;


public class ActionBarView extends RelativeLayout {
    private TextView mTitle;

    public ActionBarView(Context context) {
        super(context);
        init(context);
    }

    public ActionBarView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context);
    }

    public ActionBarView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context);
    }

    //初始化
    private void init(final Context context) {
        View view = View.inflate(context, R.layout.action_bar, null);
        view.findViewById(R.id.image_back).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                ((Activity) context).finish();
            }
        });
        mTitle = view.findViewById(R.id.tv_title);
        addView(view);//添加到View里
    }

    //设置标题
    public void setTitle(String title) {
        if (TextUtils.isEmpty(title)) {
            return;
        }
        mTitle.setText(title);
    }
}

效果图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43797842/article/details/88707505