android_自定义布局例子
为什么要写自定义布局:
1.在实现大量重复的子按键或者子布局时,如果一个一个去复写工作量庞大,就需要创建自定义布局直接导入布局里,可以节省大量的时间
创建自定义布局的步骤:
1.编写一个自定义xml布局
2.将这个自定义xml布局实例化成Java布局类(继承布局类实现),在布局类中直接添加功能
3.将这个类写入父类的xml布局文件里
步骤1:编写一个自定义xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/demobutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是一个实验按键"/> </LinearLayout>
步骤2:将这个自定义xml布局实例化成Java布局类(继承布局类实现)
package com.example.prize.mydemo1; 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 prize on 2018/4/8.
* 实例化一个自定义布局,并且在布局中添加按键功能
*/ public class MyLayout extends LinearLayout {
public MyLayout(Context context, AttributeSet attrs){
super(context,attrs);
LayoutInflater.from(context).inflate(R.layout.activity_mylayout,this); //剪裁实例化mylayout布局
Button button =(Button)findViewById(R.id.demobutton);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(),"点击实现了试验按键",Toast.LENGTH_SHORT).show();
}
}); } }
步骤3:将这个类写入父类的xml布局文件里
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--添加自定义布局-->
<!--注意布局路径是需要全部包名路径-->
<com.example.prize.mydemo1.MyLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.example.prize.mydemo1.MyLayout> </LinearLayout>
android_自定义布局例子的更多相关文章
- android_自定义布局
1.需要实现view类 2.如果需要实现自定义属性则: 1.定义资源文件attrs---->values 2. <?xml version="1.0" encoding ...
- Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android fr ...
- Collection View 自定义布局(custom flow layout)
Collection view自定义布局 一般我们自定义布局都会新建一个类,继承自UICollectionViewFlowLayout,然后重写几个方法: prepareLayout():当准备开始布 ...
- iOS-UICollectionView自定义布局
UICollectionView自定义布局 转载: http://answerhuang.duapp.com/index.php/2013/11/20/custom_collection_view_l ...
- 详细分享UICollectionView的自定义布局(瀑布流, 线性, 圆形…)
前言: 本篇文章不是分享collectionView的详细使用教程, 而是属于比较’高级’的collectionView使用技巧, 阅读之前, 我想你已经很熟悉collectionView的基本使用, ...
- Swift - 使用网格(UICollectionView)的自定义布局实现复杂页面
网格UICollectionView除了使用流布局,还可以使用自定义布局.实现自定义布局需要继承UICollectionViewLayout,同时还要重载下面的三个方法: 1 2 3 4 5 6 7 ...
- 深入解析_Android的自定义布局
前言: 这篇文章是前Firefox Android工程师(现在跳槽去Facebook了) Lucas Rocha所写,文中对Android中常用的四种自定义布局方案进行了很好地分析,并结合这四种And ...
- Confluence 6 升级自定义的站点和空间获得你的自定义布局
我们建议你在对站点进行布局修改的时候,你需要为你修改的 Confluence 站点或空间布局保留所有的修改记录. 如果没有的话,你应该可以通过下面的办法找到你的自定义修改.这个方法将会把你对全部网站和 ...
- 【转】Android AlertDialog自定义布局
原文网址:https://blog.csdn.net/u010694658/article/details/53022294 由于开发中经常使用弹框,然而系统自带的弹框太局限,也不太美观,经常不能满足 ...
随机推荐
- 【转】python:让源码更安全之将py编译成so
python:让源码更安全之将py编译成so 应用场景 Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效. python的解释特性是将py编译为独有的二 ...
- 关于zynq7 中MIO的理解
关于zynq7 中MIO的理解 Zynq7000有54个MIO,分配在GPIO的Bank0和Bank1,属于PS部分,这些IO与PS直接相连,不需要添加引脚约束,MIO信号对PL部分是不可见的,对MI ...
- 初次使用CentOs7遇到的问题
初次使用CentOs7遇到的问题 1.XXX[用户名]不在sudoers文件中.此事将被报告 解决方案:CentOs自带命令visudo,其作用为调用vim来修改“/etc/sudoers”文件,从而 ...
- 编译安装mysql5.7
### 注意版本和此次更新时间 2018-3-11 版本:mysql-5.7.x 环境:linux7.x C/C++编译器安装 yum install gcc g++ -y CMake 是一个跨平台的 ...
- VMware Workstation 安装 mac OS 时遇到 不可恢复错误: (vcpu-0)
去客户机的安装目录,打开VMX文件, 比如你的客户机名字为OSX, 这个文件就是OSX.vmx,你将会看到有一个smc.present的参数:smc.present = "TRUE" ...
- Java连接S3并上传Redis
package com.shinho.bigdatalake.redis; import com.amazonaws.regions.Region; import com.amazonaws.regi ...
- 忽略时间的小时分,展示的方法 data函数
date(create_at) 列表: sql:
- Java 基础面试题
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名一致 2.Java有没有 ...
- 学习笔记之The Intelligent Investor, Rev. Ed
The Intelligent Investor, Rev. Ed https://www.safaribooksonline.com/library/view/the-intelligent-inv ...
- Bootstrap的简介及使用
一.Bootstrap简介 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.javascript 的,它简洁灵活,使得 Web 开发更 ...