android按钮控件常见问题,Android的基本控件和Activity的应用总结

Android的基本控件

常用界面控件

TextView 显示文本信息

button 普通按钮

EditText 可编辑的文本框组件(输入框)

ImageView 用于显示图片

ImageBUtton 图片按钮

CheckBox 复选框

RadioGroup 单选按钮组

Spinner 下拉列表组件

ProgressBar进度条

SeekBar拖动条

RatingBar评分组件

ListView列表

Dialog对话框

Toast信息提示组件

所有控件的基类为View,ViewGroup继承于View,它可以含有其他的View,就像一个View的容器。

TextView

TextView控件继承自View类,位于android.widget包中。TextView控件的功能是向用户显示文本的内容,但是不允许编辑的,常用属性如下所示:

android:layout_widt设置控件的宽度

android:layout_height设置控件的高度

android:id设置组件的ID

android:text设置文本内容

android:textColor设置文本颜色

android:textSize设置文本大小

android:background设置控件的背景色

android:gravity设置文本相对控件地位置

android:layout_gravity设置控件相对其所在容器的位置

TextView控件的使用首先要增加到布局文件中,即res/layout/main.xml文件中。

初始添加的TextView控件默认形式,如需要修改TextView的显示内容、字体大小等,有以下两种方式

(1).可以在XML中修改某个属性的值来控制控件的表现形式。

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/tvl"

android:background="#ffffff"

android:text="@string/app_name"

android:textColor="#0000FF"

android:textSize="20sp"

/>

复制代码

android属性声明了TextViewDE的ID,这个ID主要用于在代码中引用这个TextView对象。“@+id/tvl”表示所设置的Id值,@表示后面的字符串是ID资源,加号(+)表示需要建立新资源名称,并添加到R.java文件中,斜杆后面的字符串(tvl)表示新资源的名称。

(2).可以通过代码获取这个控件的对象来修改其属性。

1.View在XML中必须已配置id。

2.通过View的findViewById(int id)修改属性。

import android.widget.TextView;

public class sxn extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView tv = (TextView) findViewById(R.id.tvl);

tv.setText("hello world");

tv.setTextSize(20);

tv.setTextColor(0xffffffff);

tv.setBackgroundColor(0xff0000ff);

}

}

复制代码

EditText

EditText是一个非常重要的组件,它是用户和Android应用进行数据传输的窗口,有了它就等于有了一扇和Android应用传输的“门”,通过它,用户可以把数据传给Android应用,然后得到用户想要的数据。

EditText继承自Android.widget.TextView,在android.widget包中,EditText是TextView的子类,具有TextView的属性特点

android:inputType 设置文本的类型

android:digits 设置允许输入哪些字符

android:hint 设置编辑框内容为空时显示的提示信息

android:password 设置只能输入密码,以“,”显示文本

android:singleLine 设置文本单行显示

android:editable 设置是否可编辑

android:requestFocus()使当前组件对象获得焦点

android:phoneNumber 设置电话号码的输入方式

android:ems 设置控件的宽度为N个字符

Button

button控件是一种按钮控件,用户可以在该控件上单击,并能引发相应的事件处理函数,Button继承自android.widget.TextView ,在android.widget包中,其常用子类自CheckBox、RadioButton、ToggleButton等。

Button的基本使用方法有以下几种。

(1)添加Button控件到xml布局文件中,也可以通过程序添加。

在布局文件中设置按钮的一些属性,如位置、宽高、按钮上的文字,颜色等,比较重要的是要给按钮一个ID,这是按钮唯一的名称。

(2).处理按钮的单击事件。

按钮单击右如下两种处理方法。

1.通过onClick属性 设置处理单击事件的方法名,在Acivity中实现这个方法。

在XML布局文件中设置Button的属性,即android:onClik="myclick",然后在该布局文件对应的Activity中实现该方法。

Activity的应用总结

什么是Activity呢?

Activity是与Android app提供交互的重要组件。Activity负责创建一个窗口,在这个窗口基础上开发者可以通过setContentiew添加UI,Activity默认全屏显示也可以作为浮动窗口显示。

Activity存在的目的是为了降低耦合,把用户自定义与系统调用分离开。

例如Activity提供如下处理:

控制窗口层级与显示关系(例如当前页面有多个弹出窗口,多个Toast每个Dialog与Toat都是新的窗口)

在窗口中按照创建setContentView传递View对象创建界面。

在窗口与视图上处理触摸事件、硬键盘事件、滚轮事件。

在当前视图进行绘制、响应窗口所有事件。

控制输入法在当前窗口的显示与隐藏。

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

总结一下整个Activity的生命周期

补充一点,当前Activity产生事件弹出Toast和AlertDialog的时候Activity的生命周期不会有改变

Activity运行时按下HOME键(跟被完全覆盖是一样的):onSaveInstanceState --> onPause --> onStop       onRestart -->onStart--->onResume

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xamarin XAML语言教程构建进度条ProgressBar

Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar,ProgressBar被称为进度条,它类似于没有滑块的滑块控件。进度条总是水平放置的。本节将讲解如何使用进度条。注意:进度条在各个平台下基本相同&#xf…

android tv字体,best登陆「永久地址0365.tv」android默认字体android使用代码使用新的字体的常用代码...

页面类类名称:MainActivitypackage com.example.android_fonts_test;import android.support.v7.app.ActionBarActivity;import android.content.Context;import android.graphics.Typeface;import android.os.Bundle;import android.view.Menu;import android.view…

android 交叉编译so,Android交叉编译htop和使用方法

htop来源于top,top是Unix/linux下功能强大的性能检测工具之一,用于实时检测并统计进程的属性和状态,基于ncurses库,可上显示文字界面。但是top已经非常陈旧,不支持鼠标点击操作,不支持查看进程的各个子线程…

Java笔记(08):面向对象--抽象类

1、抽象类概述: 1 /*2 抽象类的概述:3 动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的。4 我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该…

mac删除android sd卡,如何从mac完全删除android及其所有文件?

前一段时间我试图让科尔多瓦工作,但android模拟器永远不会启动。它只是挂着一个黑色的屏幕。如何从mac完全删除android及其所有文件?我原来是用brew install android-sdk安装的。然后我读了一个糟糕的地方。所以我已经删除它并安装了Android Studio。无论…

201521123023《Java程序设计》第13周学习总结

1. 本周学习总结 (1)网络中为了进行数据交换(通信)而建立的规则、标准或约定(语义语法规则)称之为协议(常用http/ftp) (2)大致熟悉了TCP协议,但是UDP怎么辣么蓝&#xff…

Android中怎获取json,Android应用中如何解析获取的json数据

Android应用中如何解析获取的json数据发布时间:2020-11-24 17:10:08来源:亿速云阅读:107作者:Leah这篇文章将为大家详细讲解有关Android应用中如何解析获取的json数据,文章内容质量较高,因此小编分享给大家…

Hibernate4之session核心方法

在学习session的核心方法之前,我们先了解下hibernate中几种对象的状态: 暂时状态:这样的状态就好像咱们公司请的暂时员工一样,他在公司里没有相关的资料和id。 特点:在使用代理主键的情况下, OID 通常为 null 不…

Android 同步锁死锁,Android多线程研究(3)——线程同步和互斥及死锁

为什么会有线程同步的概念呢?为什么要同步?什么是线程同步?先看一段代码:package com.maso.test;public class ThreadTest2 implements Runnable{private TestObj testObj new TestObj();public static void main(String[] args)…

QML与C++交互:登陆界面设计

QML与C交互:登陆界面设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前台界面,C后台负责逻辑 效果图: 源码: 前台qml文件 login.qml /******************************************************…

html怎么在字体中加波浪线,CSS3实现文字波浪线效果

前言css的设计之巧妙,实现之精妙,细细寻味,其妙非凡,妙不可言。这波浪线,取巧的运用了linear-gradient属性,合角度、颜色、位置于一体,配合background-size,background-repeat&#…

NET Core 指令启动

ASP.NET Core 是新一代的 ASP.NET,早期称为 ASP.NET vNext,并且在推出初期命名为ASP.NET 5,但随着 .NET Core 的成熟,以及 ASP.NET 5的命名会使得外界将它视为 ASP.NET 的升级版,但它其实是新一代从头开始打造的 ASP.N…

html文本显示状态代码中,HTML文本显示状态代码中,表示?

文本如何大小判别偏心受压剪力墙的。能源能量然资提供的自是指源,显示如(,显示能、能、能、能、、热等的械能是机生物原子光能化学总称,不可能源然界的一可再生能于自源可源和再生分为存在次能。状态中表并发儿麻体温生的婴幼易发间低醉期症(…

1807. [NOIP2014]寻找道路P2296 寻找道路

题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通。 2 .在满足…

html页面 wordpress,WordPress纯代码实现前端页面HTML完美压缩

前言:压缩HTML页面的好处就是略微提升页面加载速度,并给那些爱扒皮的缺德玩意制造些许麻烦。好了将如下代码添加在functions.php中即可://压缩WordPress前端html代码function wp_compress_html(){function wp_compress_html_main ($buffer){$…

js中的作用域

关于变量和参数问题: 函数外面定义的变量是全局变量,函数内可以直接使用。 在函数内部没有使用var定义的变量则为全局变量,在函数内使用var关键字定义的变量是局部变量,即出了函数外边无法获取。 js函数定义的参数没有默认值&…

html HTML1300 进行了导航,jquery根据文章H标签自动生成导航目录

jquery根据文章H标签自动生成导航目录2017-11-19 20:57在一些旅游网站,比如说途牛、携程这些,当你看某条线路的详情页时,右边会有相应的第一天、第二天等的目录。这么大的网站,不可能后台添加行程的时候,每一天都要自动…

asp.net core利用DI实现自定义用户系统,脱离ControllerBase.User

前言 很多时候其实我们并不需要asp.net core自带的那么复杂的用户系统,基于角色,各种概念,还得用EF Core,而且在web应用中都是把信息存储到cookie中进行通讯(我不喜欢放cookie中,因为有次我在mac系统中的sa…

html的排版标题的是,HTML 5结构排版布局

进行总体布局时候,具体可以用的方法。1.大纲:文档中各内容区块的结构编排。内容区块可以使用标题元素来展示各级内容区块的标题。关于内容区块的编排可以分为“显示编排”和“隐式编排”。显示编排:明确使用section等元素创建文档结构&#x…

[LeetCode]Distinct Subsequences,解题报告

题目 Given a string S and a string T, count the number of distinct subsequences of T in S.A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative po…