Android开发-加载公用布局(如公用标题栏)

前言:
目前越来越多的activity页面都会在页面的头部加载一个标题栏,为了减少重复代码,修改样式方便。所以就简单的来说说如何在当前页面的头部加载一个公用的布局头部文件。
效果如下图:
这里写图片描述

具体实现如下:

1,新建一个布局文件 public_header 布局文件。

<?xml version="1.0" encoding="utf-8"?>
<!-- 顶部信息栏 -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_topmenu"
    android:layout_width="fill_parent"
    android:layout_height="45dp"
    android:layout_alignParentTop="true"
    android:background="@color/white" >

    <!-- 左手边按钮,设置内部重心偏向为垂直居中 -->

    <Button
        android:id="@+id/top_menu_left"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_gravity="left"
        android:background="@color/color_main"
        android:paddingLeft="7dp"
        android:textColor="@color/white" />

    <!-- 文本标题控件,设置布局为居中 -->

    <TextView
        android:id="@+id/top_menu_title"
        android:layout_width="160dp"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:gravity="center"
        android:marqueeRepeatLimit="marquee_forever"
        android:singleLine="true"
        android:textColor="@color/screening_price"
        android:textSize="18sp" />

    <!-- 按钮控件,设置布局为偏右 -->

    <Button
        android:id="@+id/top_menu_right"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="@color/color_main"
        android:textColor="@color/white" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:layout_alignParentBottom="true"
        android:background="#cccccc" >
    </View>

</RelativeLayout>

2,如何在其他布局文件引用

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

3,自定义一个TopMenuHeader文件

public class TopMenuHeader {

    // 顶部菜单左边按钮
    public Button topMenuLeft;

    // 顶部菜单右边按钮
    public Button topMenuRight;

    // 顶部菜单文字
    public TextView topMenuTitle;

    public TopMenuHeader(View v) {

        // 右边按钮
        topMenuRight = (Button) v.findViewById(R.id.top_menu_right);

        // 左边按钮
        topMenuLeft = (Button) v.findViewById(R.id.top_menu_left);

        // 顶部中间文字
        topMenuTitle = (TextView) v.findViewById(R.id.top_menu_title);

    }
}

4,在activity引用。

// 顶部设置
        TopMenuHeader topMenu = new TopMenuHeader(getWindow().getDecorView());
        topMenu.topMenuTitle.setText("首页");
        topMenu.topMenuTitle.setTextColor(Color.parseColor("#2fcfc9"));
        topMenu.topMenuRight.setVisibility(View.GONE);
        topMenu.topMenuLeft.setVisibility(View.GONE);

分享完毕!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值