第一行代码 UI部分笔记(写一个通用的标题栏)
2017-02-19 17:23
337 查看
一 四种基本布局
1.线性布局 LinearLayout
2.相对布局 RelativeLayout
3.帧布局 FrameLayout
4.百分比布局
二 简单自定义view 通过xml布局来写(一个通用的标题栏)
1.标题栏定义的布局样式名为
2.自定义的标题栏文件
3,使用
在activity的布局文件中
在activity文件中
1.线性布局 LinearLayout
2.相对布局 RelativeLayout
3.帧布局 FrameLayout
4.百分比布局
二 简单自定义view 通过xml布局来写(一个通用的标题栏)
1.标题栏定义的布局样式名为
title_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="match_parent" android:orientation="horizontal"> <Button android:id="@+id/back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="返回" /> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:text="标题" /> <Button android:id="@+id/more" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="更多" /> </LinearLayout>
2.自定义的标题栏文件
public class TitleLayout extends LinearLayout { public TitleLayout(Context context) { super(context); } private TitleLayoutSet titlelayoutSet; public TitleLayout(final Context context, AttributeSet attrs) { super(context, attrs); LayoutInflater.from(context).inflate(R.layout.title_layout, this); } public void intiData(final TitleLayoutSet titleLayoutSet) { Button back = (Button) findViewById(R.id.back); Button more = (Button) findViewById(R.id.more); final TextView title = (TextView) findViewById(R.id.title); back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ((Activity) getContext()).finish(); } }); titleLayoutSet.setBackImage(back); titleLayoutSet.setTitleText(title); titleLayoutSet.setMoreText(more); more.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { titleLayoutSet.setMoreClickListener(); } }); } public interface TitleLayoutSet { void setBackImage(Button back); void setTitleText(TextView tv); void setMoreClickListener(); void setMoreText(Button btn); } }
3,使用
在activity的布局文件中
<com.lvyequeen.test.day01.myView.TitleLayout android:id="@+id/titleSet" android:layout_width="match_parent" android:layout_height="wrap_content"/>
在activity文件中
private void initView() { TitleLayout layout = (TitleLayout) findViewById(R.id.titleSet); layout.intiData(new TitleLayout.TitleLayoutSet() { @Override public void setBackImage(Button back) { back.setBackgroundResource(R.mipmap.ic_launcher); } @Override public void setTitleText(TextView tv) { tv.setText("我的测试标题呀"); } @Override public void setMoreClickListener() { Toast.makeText(getApplicationContext(), "点击更多了", Toast.LENGTH_SHORT).show(); } @Override public void setMoreText(Button btn) { btn.setText("加载更多"); } }); }
相关文章推荐
- 第一行代码笔记 一个下载的demo
- [置顶] BaseToolbar :给你一个通用的Toolbar,一行代码搞定标题栏
- [导入]创建一个ASP通用分页类代码部分
- 创建一个ASP通用分页类(二)代码部分
- 群英传笔记 自定义view之 通过组合(复合)控件创建一个通用标题栏view
- 第一行代码,UI开发部分<一>
- 第一行代码第二版(郭霖著)笔记之第三章(UI开发的点点滴滴)
- 第一行代码笔记4(UI)
- 第一行代码笔记,第三章----UI的点滴
- 第一行代码笔记 下拉刷新卡片现实上滑隐藏标题栏的demo
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 备忘:一个ibatis项目应用的重要sql-mapping.xml部分代码
- 用POWERBUILDER编写一个通用代码维护程序
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- PC Camera UI 部分代码分离有感
- LUA垃圾回收部分代码阅读笔记