为了账号安全,请及时绑定邮箱和手机立即绑定

如何打造一个标题栏

标签:
Android

好啦,如何打造一个属于自己的标题栏呢?

首先已定义一个layout文件啦

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/btn_return"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="5dp"
        android:text="return" />

    <TextView
        android:id="@+id/textview_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:gravity="center"
        android:text="title"
        android:textSize="20dp" />

    <Button
        android:id="@+id/button_edit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:text="edit" />

</LinearLayout>

这个文件没什么内涵,就是画了两个button一个textview

ok,下一步,在主布局文件中加入这个layout文件。

<include layout="@layout/layout_title"/>

下一步再把默认的标题栏去掉

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ActionBar actionBar=getSupportActionBar();
    if (actionBar!=null){
        actionBar.hide();
    }
}

大功告成

5b78f6f800017e8503100572.jpg

但是有一个问题,做一个页面还好,但是每个页面都要求呢,那岂不是要重复的代码写很多遍?这里有一个方法可以解决,那些上班迟到下班却又很准时的就是这样做的

写一个类 继承自linerlayout

在 主布局文件中作为一个组件加载

<com.example.zvt_110.myapplication.TitleLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />
public class TitleLayout extends LinearLayout implements View.OnClickListener {
Button button_edit;


    public TitleLayout(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.layout_title, this);
        button_return = findViewById(R.id.btn_return);
        button_edit = findViewById(R.id.button_edit);
        button_return.setOnClickListener(this);
        button_edit.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.button_edit:
                Toast.makeText(getContext(), "edit", Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_return:
                Toast.makeText(getContext(), "return", Toast.LENGTH_SHORT).show();
                break;
            default:
                break;
        }
    }
}

原文链接:http://www.apkbus.com/blog-946024-77389.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消