`

控件总结android

阅读更多
1.控件在布局MXL中都有样式可以选择。
例如:gravity=“center_vertical”控件里面的内容垂直方向上居中。
Background=”#aa00ff”背景颜色为:每两个数字代表一个颜色:红绿蓝。16进制
paddingLeft=”10dip”内边距:即一个控件中的内容和控件边缘的距离,外边距是控件和父窗口的距离。
Layout_weight=”1”一个组里面控件的关系。1代表50%,如果一个组有2个控件,第一个为2,第二个为3,则第一个占2/5份,那个占3/5份。
singleLine=”true”把控件的所有内容显示在一行里。

TableLayout:
<TableRow>一行,在一行中,每个控件会占一列。
stretchColumns=”1”使用第一列作为拉伸的一列。0开始计数。(在每一行的列的内容不足以填满父窗口的宽度时,拉伸某一列以填满)

android:textStyle = “bold”或者italic。是调节字体的样式的。

2.对话框:
对话框实现方法:
1)创建一个Activity,给予布局和风格,然后显示。
2)用AlertDialog
对于其外观:可用布局然后使用LayoutInflater类;
也可以直接创建,AlerDIalog.Builder很重要,可以动态对对话框控件进行修改。

3.菜单:
菜单实现方法:
1)重写两个函数onCreateOptionsMenu.和onOptionsItemSelected。
对于其外观:可用布局然后使用MenuInflater类;
也可以直接创建,add添加菜单项。

4.相对布局


 
也可以查文档
例子:

 

像第一个textview什么都没设,则默认在父窗口的左上角。

5.Toast的简单用法:
Toast.makeText(m, "female", Toast.LENGTH_SHORT).show();
第一个参数是Context,第二个参数是显示的文本,第三个是显示多长,LONG还是SHORT

6.RadioGroup和RadioButton
响应点击:和前面的稍有不同的是:这里要对RadioGroup设置setOnCheckedChangeListener()函数。该函数的参数为RadioGroup.OnCheckedChangeListener对象


7.有趣的是:CheckBox的监听器叫做: (因为它继承自CompoundButton)
而RadioGroup的监听器的一部分名字跟它相同,但是属于不同的类的,而且参数也不一样。这个要注意区分。
对CheckBox设置监听器的函数也是:setOnCheckedChangeListener()
对checkbox。不但需要说当选择了的处理,还要处理没有被选择的情况,因为可能选了之后,又不选了,(复选框的特点)
如:


 
对于这个onCheckedChanged函数,它的第一个参数就是当前的这个CheckBox的视图,因为CheckBox是CompounButton的子类,第二个参数是选中没有的状态。

8.进度条
水平进度条和默认进度条:

 

进度条的显示:setVisibility(View.VISIBLE);   其实这个常量View.VISIBLE=0.但是我们依然要使用常量方便读代码。
进度条的不可见:setVisibility(View.GONE)
对于条形的进度条,不但可以用setProgress设置长度,还可以用setSecondProgress()设置其次要长度。
进度条的默认值是100.也可以自己设置最大值,在程序中setMax(300)或者在XML中


 
默认的进度条是不会显示进度的。所以对于默认的进度条,让他中途显示与否没有什么意义。
进度条的函数:getMax() 获取最大的进度。

9.ListView的使用方法:
见程序代码和视频。比较复杂。
要点:1.如果使用ListView视图的类要继承ListActivity
		则ListView必须要用android内置id:@id/android:list 也可以写成:@android:id/list
		要获取这个控件:getViewById(android:R.id.list);
		或者在类中直接写:getListView();
		对其设置OnCreateContextMenuListener,则实现这个接口要重载函数
public void onCreateContextMenu(ContextMenu menu, View v,
    				ContextMenuInfo menuInfo) {}
对其中的项进行选择是:
		2.如果直接用Activity的类来写,则可以自己定义ID。


 
	对于它的显示,如果继承自ListActivity。则要用setListAdapter(参数为adapter);
	如果就是Activity,则用ListView控件调用其函数setAdapter(参数为adapter);

10. visibility有三个属性值,visible,invisible和gone.visible指该组件可视,invisible和gone指该组件不可视,两者的区别在于,invisible让该组件的内容不可视,但是组件的大小依然会将空间占用,而gone是彻底从布局空间上隐藏。 

11.对于Spinner的两种实现方法。见入门书第七章。
	(1用ArrayAdapter调用视图的array和默认Spinner样式的方法。
	(2用代码构造数组,下拉和显示视图也是自定义的方法。	

12.DatePickerDialog和DatePicker控件的使用大同小异。
DatePickerDialog的使用全部:
1)在需要显示的地方调用:showDialog(DATE_PICKER_DLG);
2)重写Activity的方法:onCreateDialog.根据ID做动作:
@Override
    protected Dialog onCreateDialog(int id) {
        switch(id) {
        case DATE_PICKER_DLG:
            dateDialog = new DatePickerDialog(this, dateListener, currentdate.get(currentdate.YEAR),
                    currentdate.get(currentdate.MONTH), currentdate.get(currentdate.DATE));
            dateDialog.show();
            break;
        default:
            break;
        }
        return super.onCreateDialog(id);
}
3)设置它的监听器,注意名字和DatePicker控件的不一样:
  private DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() {
        
        @Override
        public void onDateSet(DatePicker picker, int year, int month, int day) {
            // TODO Auto-generated method stub
            currentdate.set(year, month + 1, day);
            birthdayStr = getTime(currentdate);
            Log.i(TAG, birthdayStr);
            addBirthdayDateBtn.setText(birthdayStr);
        }
    };

DatePicker控件的使用全部:
DatePicker dp = (DatePicker)findViewById(R.id.datepick);
private DatePicker.OnDateChangedListener dateListener = new DatePicker.OnDateChangedListener() {

    @Override
    public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
        // TODO Auto-generated method stub
        
    }
        
        
    };


13.ScrollView的用法:

 
14.关于图片加入到控件和图片的获取上,可以看第七周。

 

  • 大小: 212.5 KB
  • 大小: 14.9 KB
  • 大小: 223.1 KB
  • 大小: 14.7 KB
  • 大小: 52.5 KB
  • 大小: 50.4 KB
  • 大小: 301.7 KB
分享到:
评论

相关推荐

    通信电源蓄电池组容量性充放电试验三措一案.docx

    5G通信行业、网络优化、通信工程建设资料。

    铁塔维护检测手段.docx

    5G通信行业、网络优化、通信工程建设资料

    通信设备安装施工组织方案.doc

    5G通信、网络优化与通信建设

    299-教育行业信息化与数据平台建设分享.pptx

    299-教育行业信息化与数据平台建设分享.pptx

    手写数字和字母数据集binaryalphadigs.mat

    手写数字和字母数据集binaryalphadigs.mat

    变电站视频监控解决方案.doc

    5G通信行业、网络优化、通信工程建设资料

    PEMFC电堆输出电压模型,可计算效率、输出功率、电流、消耗功率以及等效内阻

    PEMFC电堆输出电压模型,可计算效率、输出功率、电流、消耗功率以及等效内阻

    创建型 结构型 设计型设计模式相关知识

    1、 设计思路 1、 创建型设计模式 创建型设计模式主要“关注对象的创建”。 1. 单例模式 单例模式:能不用就不用 ,他的目的就是为了让一个类只创建一个实例。 用法:把对象的创建权限关闭,提供一个人公开的静态方法,实现静态方法后将实例存放于静态的字段中,方法中返回。 单例模式会长期持有一个对象不会被释放,而普通实例不用就会被释放(当然必须是GC之后才会被释放)。 单例用途;数据临时存储的地方如静态字典,数据库连接池、线程池、IOC容器实例。   1.1懒汉式 设置构造函数为私有的,避免其他外部类可以对其实例化, 创建静态类来存储实例。 在静态方法中创建实例,避免多个线程同时调用方法,我们可以加线程锁, 在方法中使用双判断语句:最外层判断是为了提高运行速率,检查如果静态字段中已经存在实例了就可以直接return;第二层判断是避免创建多个对象实例。 1.2饿汉式1 静态构造函数:由CLR保证,静态构造函数只会在启动程序时候,由CLR自行创建。并且只会创建一次,相比较于懒汉式创建的更早,并且不需要担心会

    《通信工程概预算》模拟试题2.docx

    5G通信行业、网络优化、通信工程建设资料

    毕业设计:Java项目之jsp高校规章制度管理系统(源码 + 数据库 + 说明文档)

    论文目录: 第二章 需求分析与系统总体设计 - 5 - 2.1java的特点 - 5 - 2.2技术可行性 - 5 - 2.3可靠性和安全性特点 - 6 - 2.4系统总体设计 - 6 - 2.5JSP技术介绍 - 7 - 2.5.1 什么是JSP - 7 - 2.5.2 JSP技术特点 - 7 - 2.5.3 JSP开发WEB的几种方式 - 8 - 第三章 数据库的设计与实现 - 9 - 3.1数据库的需求分析 - 9 - 3.2数据库的逻辑设计 - 10 - 3.3 数据库的结构创建 - 10 - 第四章 后台系统和数据库的配置 - 13 - 4.1后台服务器配置 - 13 - 4.2后台数据库的配置 - 13 - 4.3后台全局配置文件 - 13 - 第五章 前端网络页面的开发与设计 - 14 - 5.1登录页面 - 14 - 5.2 管理员用户页面 - 15 - 5.3 注册用户页面 - 16 - 5.4主页面 - 17 - 5.5用户注册页面 - 18 - 5.6 规章制度管理页面 - 18 - 第六章 系统的安全性 - 19 - 6.1 session和cookie的安

    ONU、分光器验收规范.doc

    5G通信行业、网络优化、通信工程建设资料。

    99-煤矿安全生产标准化基本要求及评分方法.pdf

    99-煤矿安全生产标准化基本要求及评分方法.pdf

    node-v12.22.6-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    475现场通讯器用户手册

    475现场通讯器用户手册

    node-v7.7.0.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    600A钳形电流表使用手册

    600A钳形电流表使用手册

    常见宏基站认识和设计讲解.pptx

    5G通信、网络优化与通信建设

    node-v12.16.3-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    数据中心机房供电需求分析.pptx

    5G通信、网络优化与通信建设

    Binomial Self-compensation

    Binomial Self-compensation for Motion Error in Dynamic 3D Scanning

Global site tag (gtag.js) - Google Analytics