android实现自定义顶部标题栏
16lz
2022-07-26
android实现自定义顶部标题栏
标题布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="52dp" android:background="#ed4255"> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="match_parent" android:ellipsize="marquee" android:gravity="center_horizontal|center" android:text="标题" android:textColor="#ffffffff" android:textSize="20dp" /> <TextView android:id="@+id/backward" android:layout_width="60dp" android:layout_height="match_parent" android:drawablePadding="6dp" android:ellipsize="end" android:gravity="center" android:paddingLeft="5dp" android:text="返回" android:textColor="#ffffffff" android:textSize="18dp" /> <TextView android:id="@+id/forward" android:layout_width="60dp" android:layout_height="match_parent" android:layout_alignParentRight="true" android:drawablePadding="6dp" android:ellipsize="end" android:gravity="center" android:paddingLeft="5dp" android:text="提交" android:textColor="#ffffffff" android:textSize="18dp" />RelativeLayout>
MainActivity引用布局并添加自己内容
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.bw.titleactivitydemo.MainActivity"> <include layout="@layout/activity_title" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:padding="20dp" android:text="Hollo Word !"/>LinearLayout>
TitleActivity设置
package com.bw.titleactivitydemo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;import android.widget.Toast;/** 自定义TitleActivity* */public abstract class TitleActivity extends AppCompatActivity implements OnClickListener { /** * 标题栏 */ private TextView mTitle; /** * < 返回 */ private TextView mBackward; /** * 提交 */ private TextView mForward; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutId()); initView(); } public abstract int getLayoutId(); //初始化组件 private void initView() { mTitle = (TextView) findViewById(R.id.title); mBackward = (TextView) findViewById(R.id.backward); mBackward.setOnClickListener(this); mForward = (TextView) findViewById(R.id.forward); mForward.setOnClickListener(this); } //返回按钮和提交按钮的点击判断监听事件 @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.backward: Toast.makeText(this, "点击返回,可在此处调用finish()", Toast.LENGTH_SHORT).show(); break; case R.id.forward: Toast.makeText(this, "我是提交按钮", Toast.LENGTH_SHORT).show(); break; } }}
MainActivity继承TitleActivity
package com.bw.titleactivitydemo;import android.os.Bundle;public class MainActivity extends TitleActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public int getLayoutId() { return (R.layout.activity_main); }}
更多相关文章
- Android(安卓)拨号器的简单实现
- android用户界面之按钮(Button)教程实例汇
- Android开发环境搭建
- Android内容提供者源码
- android 单元测试
- 【安卓笔记】android客户端与服务端交互的三种方式
- android touch事件解析
- Android(安卓)Interface(UI) 界面控件简单介绍01
- 在RelativeLayout布局中可以设置标签的android:layout_toLeftO..