博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android自定义用户控件简单范例(一)
阅读量:5132 次
发布时间:2019-06-13

本文共 1428 字,大约阅读时间需要 4 分钟。

一款优秀的移动应用需要具有自己独特统一的风格,通常情况下UI设计师会根据产品需求和使用人群的特点,设计整体的风格,界面的元素和控件的互效果。而原生态的Android控件为开发人员提供的是最基本的积木元素,如果要准确地传递统一的视觉效果和交互体验,对控件的自定义使用是非常有必要的。

Android开发也采用前端xml+后端Java的形式进行页面开发,写过C#的人应该知道,xml是一种界面元素布局的直观显示,根据标签自动完成编译显示给用户,无需运行时才能看到界面,这样的分离能减小代码的耦合并且方便调试。但本质上去除xml布局文件,依然是可以完成所有的程序设计。这篇文章通过一个简单的完全从Java后台程序中进行创建的示例来说明Android自定义控件的运行原理。

下面是一个简单的自定义控件,继承LinearLayout,加一个居中的ImageView和TextView。

private void initView(Context context){        setOrientation(VERTICAL);        // 定义布局填充形式,该布局的宽和高均根据内容自适应调整        ViewGroup.LayoutParams wrap_wrapParams = new LayoutParams(                ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);        setLayoutParams(wrap_wrapParams);        setGravity(Gravity.CENTER);                LinearLayout.LayoutParams params = new LayoutParams(                LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);        params.gravity = Gravity.CENTER;                imageView = new ImageView(context);        imageView.setId(10001);                textView = new TextView(context);        textView.setId(10002);                addView(imageView, params);        addView(textView, params);    }         /*设置显示文字*/    public void setTextViewText(String text){        textView.setText(text);    }

如果要用xml进行描述如下:

View Code

调用的时候直接:

转载于:https://www.cnblogs.com/yxy8023ustc/p/3849999.html

你可能感兴趣的文章
Java异常抛出
查看>>
[SQL Server 系] T-SQL数据库的创建与修改
查看>>
74HC164应用
查看>>
变量声明和定义的关系
查看>>
Wpf 之Canvas介绍
查看>>
linux history
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>