安卓自定义简单的Title标题栏(仿iPhone样式)
来源:互联网 发布:二级域名 不同端口 编辑:程序博客网 时间:2024/06/10 06:51
1:新建一个title线性布局(只涉及到一个方向的排列,建议使用线性布局),水平排列
2:添加Button控件,TextView控件,Button控件
<?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/button_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/back" /> <TextView android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center" android:text="主界面" android:textSize="30sp" /> <Button android:id="@+id/button_go" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/go" /></LinearLayout>
效果如下图(按自己的喜好排列,添加背景等)
然后新建一个类,继承自LinearLayout,在这个类里面定义这个控件的功能(比如那两个按钮的功能,因为经常要用到这个标题栏,避免重复代码也为了后期可以方便的修改)
package com.example.zhanglikun.titlelayout;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import android.widget.Toast;/** * Created by zhanglikun on 2017/5/3. */public class Title extends LinearLayout implements View.OnClickListener{ public Title(Context context, AttributeSet attributeSet) { super(context,attributeSet); LayoutInflater.from(context).inflate(R.layout.title,this); Button buttonback = (Button)findViewById(R.id.button_back); Button buttongo = (Button)findViewById(R.id.button_go); buttonback.setOnClickListener(this); buttongo.setOnClickListener(this); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.button_back: Toast.makeText(getContext(),"back",Toast.LENGTH_SHORT).show(); break; case R.id.button_go: Toast.makeText(getContext(),"go",Toast.LENGTH_SHORT).show(); break; } }}
到此这个控件就新建好了,名字叫Title,因为不在安卓sdk里面,所以引用的时候我们要使用全名.
在需要引用这个控件的layout文件中
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.zhanglikun.titlelayout.Title android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
最后一步:在MainActivity里隐藏系统原生的标题栏.
package com.example.zhanglikun.titlelayout;import android.support.v7.app.ActionBar;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class Activity1 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); ActionBar actionBar = getSupportActionBar(); if (actionBar != null) actionBar.hide(); }}
效果如下图所示,点击按钮会有个Toast提醒
1 0
- 安卓自定义简单的Title标题栏(仿iPhone样式)
- 新手笔记之安卓自定义title标题栏使用
- 安卓自定义标题栏
- 仿Title样式
- 自定义Title标题栏
- 简单的自定义标题栏
- 安卓-自定义标题栏组件
- 自定义DataGrid/GridView的title样式
- 安卓自定义控件——标题栏的复用
- Android自定义标题栏 TItle Bar
- Android 自定义标题栏Title Bar
- 仿Iphone样式的时间、日期选择器
- 仿简单的广告栏样式
- android 自定义title样式
- android 自定义title样式
- 自定义title样式
- Android自定义title样式
- 自定义title样式
- 计算机存储计量单位
- javaweb 基础(2)—— cookie
- The Tourist Guide
- cgroup与dpdk启动
- uva490 Rotating Sentences
- 安卓自定义简单的Title标题栏(仿iPhone样式)
- Spring学习笔记1-JavaBean
- sed
- 日期格式yyyy-MM-dd和YYYY-MM-dd有什么区别?
- eclipse 新建类自动生成注释信息
- Android中Activity四种启动方式
- Nginx开发一个简单的HTTP过滤模块
- 轻松搭建ES6开发环境
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码