接着上一篇,本篇玩一下自定义LinearLayout,直接上代码:

1. attr.xml

2.继承LinearLayout重新定义一个:

package com.test.customviewtest;

import android.content.Context;

import android.content.res.TypedArray;

import android.util.AttributeSet;

import android.widget.EditText;

import android.widget.LinearLayout;

import android.widget.TextView;

public class MyLinearLayout extends LinearLayout {

public MyLinearLayout(Context context, AttributeSet attrs) {

super(context, attrs);

int resouceId = -1;

TypedArray MyTypeArray = context.obtainStyledAttributes(attrs,

R.styleable.MyLinearLayout);

TextView tv = new TextView(context);

EditText et = new EditText(context);

int N = MyTypeArray.getIndexCount();// N=2

for (int i = 0; i < N; i++) {

int attr = MyTypeArray.getIndex(i);

switch (attr) {

case R.styleable.MyLinearLayout_Text:

resouceId = MyTypeArray.getResourceId(

R.styleable.MyLinearLayout_Text, 0);

tv.setText(resouceId > 0 ? MyTypeArray.getResources().getText(

resouceId) : MyTypeArray

.getString(R.styleable.MyLinearLayout_Text));

break;

case R.styleable.MyLinearLayout_Orientation:

resouceId = MyTypeArray.getInt(

R.styleable.MyLinearLayout_Orientation, 0);

this.setOrientation(resouceId == 1 ? LinearLayout.HORIZONTAL

: LinearLayout.VERTICAL);

break;

}

}

addView(tv);

addView(et);

MyTypeArray.recycle();

}

}

3.在activity_main.xml 布局中引用自定义LinearLayout:

4. MainActivity.java

package com.test.customviewtest;

import android.app.Activity;

import android.os.Bundle;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

}

内容很简单,就不作详细介绍了,看一下demo基本就会搞了!!

android linearlayout 自定义,android 自定义LinearLayout相关推荐

  1. android linearlayout 边框阴影,自定义阴影LinearLayout,自带padding

    先上东西,请看这个popupwindow, 实际上它是有阴影的 注意我的高和宽都加上了阴影的宽度240+7+3 长度341+7+3 android:layout_width="250dp&q ...

  2. android 自定义图片容器,Android应用开发中自定义ViewGroup视图容器的教程

    一.概述在写代码之前,我必须得问几个问题: 1.ViewGroup的职责是啥?ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性, ...

  3. Android Paint应用之自定义View实现进度条控件

    在上一篇文章<Android神笔之Paint>学习了Paint的基本用法,但是具体的应用我们还没有实践过.从标题中可知,本文是带领读者使用Paint,自定义一个进度条控件. 上图就是本文要 ...

  4. 使用XML声明自定义Android UI元素

    如何使用XML声明Android UI元素? #1楼 Google似乎更新了其开发者页面,并在那里添加了各种培训. 其中一个处理自定义视图的创建,可以在这里找到 #2楼 除了大多数投票的答案. obt ...

  5. 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件

    博客地址 : http://blog.csdn.net/shulianghan/article/details/41520569 代码下载 : -- GitHub : https://github.c ...

  6. 【Android 应用开发】自定义View 和 ViewGroup

    一. 自定义View介绍 自定义View时, 继承View基类, 并实现其中的一些方法. (1) ~ (2) 方法与构造相关 (3) ~ (5) 方法与组件大小位置相关 (6) ~ (9) 方法与触摸 ...

  7. Android学习笔记之自定义Toast

    1)布局文件layout [html] view plaincopy <RelativeLayout xmlns:android="http://schemas.android.com ...

  8. Android 手把手教您自定义ViewGroup

    最近由于工作的变动,导致的博客的更新计划有点被打乱,希望可以尽快脉动回来~ 今天给大家带来一篇自定义ViewGroup的教程,说白了,就是教大家如何自定义ViewGroup,如果你对自定义ViewGr ...

  9. android程序日历layout,Android使用GridLayout绘制自定义日历控件

    效果图 思路:就是先设置Gridlayout的行列数,然后往里面放置一定数目的自定义日历按钮控件,最后实现日历逻辑就可以了. 步骤: 第一步:自定义日历控件(初步) 第二步:实现自定义单个日期按钮控件 ...

最新文章

  1. android点击失效,android点击无效验证的解决方法
  2. C语言小游戏——三子棋
  3. 【Linux】一步一步学Linux——ac命令(102)
  4. 安卓机更新系统会卡吗_【ios13更新】最全的ios13系统的攻略,最大一次更新,升级绝对不会后悔吗?来看看...
  5. 学习可以借鉴的大牛们的网站
  6. 电脑word在哪_永中PDF转WORD在线文档转换器——无需会员、没有限制
  7. iscsi 挂载教程_CentOS下如何搭建ISCSI以及Windows如何挂载ISCSI镜像
  8. build lavas 失败_vue lavas的项目在IE下显示空白
  9. 沉默内向的计算机保研er在保研面试中会吃亏吗?
  10. matlab 图片字符切割,基于MATLAB的图片中字符的分割与识别
  11. (三)常见的数字逻辑电路器件及属性
  12. 【富文本】wangeditor编辑器简单使用(自定义图片上传)
  13. Word VBA(批量复制Excel表格和Word表格到Word中)
  14. 基于微信小程序的音乐播放器设计
  15. Oracle数据库PL SQL开发、Oracle-SQL开发习题答案
  16. js 对日期的计算,加减天数
  17. 加载繁体字体时遇到的问题
  18. vue axios传递FormData填坑,headers不显示,后台报错等等问题
  19. Fast-Planner代码阅读-1. Robust and Efficient Quadrotor Trajectory Generation for Fast Autonomous Flight
  20. python爬取安居客二手房网站数据

热门文章

  1. Seaborn 绘制 21 种超实用精美图表
  2. 黑猴子的家:Docker网址
  3. 使用大规模数据注释和深度学习对具有人类水平性能的组织图像进行全细胞分割
  4. webui入门魔导书-自用
  5. 漫谈 Java 平台上的反应式编程
  6. 服务器系统备份和还原,服务器操作系统备份和还原
  7. 个人日记—《八佰》电影观后感—20200823
  8. 计算机网络双绞线制作图片,计算机网络 实验一 双绞线水晶头制作
  9. linux中/dev/shm简介与大小修改
  10. Hadoop ClassPath