Android中自定义标题栏的实现(总结)

在开发过程中,一个APP中的各个界面的标题栏一般都是一样的,有的还带有功能按钮。那么,如果每一个界面我们都把标题栏的布局写一遍,是不是感觉有点繁琐,怎么办呢?

解决方案:自定义标题栏布局。

1、自定义布局Java文件代码如下:package com.deepreality.corporation_app.CustomViews;import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;import com.deepreality.corporation_app.R;/*** 自定义的标题栏(方便重复使用)*/
public class RelativeLayoutTitle extends RelativeLayout implements View.OnClickListener {private Context mContext;public String navigationTitle = "标题栏";private ImageView imageView;public RelativeLayoutTitle(Context context, AttributeSet attrs) {super(context, attrs);mContext = context;LayoutInflater.from(context).inflate(R.layout.layout_title_withgoback, this);imageView = findViewById(R.id.Layout_Title_ivGoBack);imageView.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.Layout_Title_ivGoBack: {((Activity) mContext).finish();break;}default:break;}}/*** 设置标题* @param navigationTitle*/public void setNavigationTitle(String navigationTitle) {this.navigationTitle = navigationTitle;TextView textView = (TextView) findViewById(R.id.Layout_Title_tvTitle);textView.setText(navigationTitle);}
}

2、相应的布局文件中引用:


3、在Activity中实现对标题TextView的赋值

relativeLayoutTitle.setNavigationTitle("用户注册");

PS:不管是一个ImageView和TextView,你可以加自己相要的View。比如,Button之类的都可以。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部