§2.1 最常用的控件------文本框(TextView)

文本框TextView是我们在安卓应用的界面开发中经常用到的一个控件,同时,它也是输入框(EditText)和按钮(Button)的父类 (输入框和按钮后面章节会有介绍)

作用:在页面上显示文字。

我们重新来看第一章节的那个“Hello World应用”。 在layout/activity_main.xml布局文件代码如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:id="@+id/activity_main"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:paddingBottom="@dimen/activity_vertical_margin"
 8     android:paddingLeft="@dimen/activity_horizontal_margin"
 9     android:paddingRight="@dimen/activity_horizontal_margin"
10     android:paddingTop="@dimen/activity_vertical_margin"
11     tools:context="com.rongma.helloworld.MainActivity">
12
13     <TextView
14         android:layout_width="wrap_content"
15         android:layout_height="wrap_content"
16         android:text="Hello World!" />
17 </RelativeLayout>

我们可以看到,在布局文件代码中,存在一个TextView节点,这个TextView就是用来在页面上显示文字内容的。

android:text用于设置文字内容,此处的属性值为"Hello World",所以在手机上显示的内容也就是“Hello World”。 如果把android:text的值改为其他的字符串,那么手机上也会显示相应的文字内容。

除了android:text之外,还要为大家介绍几个常用的控件属性:

  • android:background 这个属性用于设置控件的背景,此处可以设置背景图片,也可以设置背景颜色。

还是以“Hello World”应用程序为例,我们对TextView控件设置如下属性:

1 <TextView
2         android:layout_width="wrap_content"
3         android:layout_height="wrap_content"
4         android:text="Hello World!"
5         android:background="#00ffff"
6 />

运行程序,将会看到如下效果:

即,"Hello World!"文本新增了一个背景颜色。 
同样的,我们也可以将图片资源导入到drawable文件夹下(例如,导入一个bg.png),此时,将android:background值设置为 android:background="@drawable/bg"。则”Hello World“字符串的背景将被设置为bg.png图片

  • android:layout_width 这个属性用于设置控件的宽度
  • android:layout_height 这个属性用于设置控件的高度
    android:layout_height和android:layout_width的属性值分三种:
    第一种:wrap_content,从字面意义上理解,为包裹内容。即这个控件的大小随着内容的变化而变化。在本案例中,TextView的大小将随着文本的内容大小而改变。
    第二种:match_parent , 这种属性值为填充窗体,即这个控件的宽(或高),和父窗体的大小保持一致。
    第三种:实际数值,比如200dp
    此处介绍一个新的长度单位:dp,设备独立元素,一种基于屏幕密度的抽象单位,随着屏幕密度的改变,dp与像素之间的换算会发生改变. 也就是说,当一个控件的宽高被设置dp作为长度单位时,这个控件的宽高将随着手机屏幕分辨率的变化而自适应

我们对"Hello World"中的TextView控件进行设置:

1 <TextView
2         android:layout_width="match_parent"
3         android:layout_height="wrap_content"
4         android:text="Hello World!"
5         android:background="#00ffff"
6  />

运行程序:

我们可以看到,由于我们设置了android:layout_width="match_parent" android:layout_height="wrap_content",所以运行结果中文本框的宽度变为填充整个窗体,高度为包裹内容。

  • android:textSize 用于设置文字的大小
    在这里要介绍一个新的长度单位 sp,这个单位用于Android应用程序中的文字大小。可以根据用户的字体大小首选项进行相对应的缩放。
  • android:textColor 用于设置文字颜色

此处,我们将“Hello World”应用程序中的TextView设置文字大小和颜色

1 <TextView
2         android:layout_width="match_parent"
3         android:layout_height="wrap_content"
4         android:text="Hello World!"
5         android:background="#00ffff"
6         android:textColor="#ffff00"
7         android:textSize="32sp"
8 />

运行结果:

我们可以看到,文字的大小和颜色均发生了改变。

android:id 用于设置控件的id,即唯一标识(类似身份证)

id的使用方法:

1.在xml布局文件中,设置id值 android:id="@+id/tv_hw"

2. 在MainActivity.java文件中,对这个控件进行操作:

 1 public class MainActivity extends Activity {
 2     private TextView mTvContent;  //1. 定义一个TextView对象
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7         mTvContent = (TextView) findViewById(R.id.tv_hw); //2.将这个TextView对象通过findViewById与xml布局文件中的id相关联
 8         mTvContent.setText("你好,安卓!"); //3.通过调用这个方法,我们可以设置TextView要显示的内容。
 9     }
10 }

(1) private TextVIew mTvContent 创建一个变量,是TextView类型的。
(2) mTvContent = (TextView) findViewById(R.id.tv_hw); 将这个TextView对象通过findViewById方法,与xml布局文件中id值为tv_hw的控件相关联,并强制类型转换为TextView类型
(3)此处是通过Java代码对TextView进行操作。 mTvContent.setText("你好,安卓!");
运行结果:

经常看到一些书上,大篇幅的介绍Android控件的属性。关于这种现象,我的观点是,只需要记住几个常用的属性即可。我们在开发过程中,如果有涉及到其他属性时,我们可以通过Google等搜索引擎进行查询。 同理,对于Java代码操作控件也是一样的,我们只需要记住常用的几个方法即可。 比如,在上面的案例中,我们使用了setText来设置TextView要显示的文字。那么,如果某一天,我们的需求是设置文字颜色时。我们可以在搜索引擎中进行查询,最终获得结果:要调用setTextColor方法 死记硬背属性和方法,是最傻的一种学习方式,我们只需要掌握其中的“套路”即可!

时间: 2024-10-13 00:53:07

§2.1 最常用的控件------文本框(TextView)的相关文章

Web控件文本框Reset的功能

在前一篇中<怎样实现Web控件文本框Reset的功能>http://www.cnblogs.com/insus/p/4120889.html Insus.NET只实现了文本框的功能.单个或是多个,有默认值与无值.只要用户点击重置(Reset)时,我们就要以对Web控件进行重置. 参考博文,其实你完全可以写出其它的控件的重置功能来.如DropDownLsit,ListBox,CheckBox,CheckBoxList,RadioButtonList等等. 想实现什么控件Reset功能,均需要创建

怎样实现Web控件文本框Reset的功能

在ASP.NET开发过程序,在数据插入之后,文本框TextBox控件需要Reset.如果只有一两个文件框也许没有什么问题,如果网页上有很多文本框,你就会有点问题了.再加上某一情形,一些文本框是有默认值,还不能做循环来实现. 如今天在论坛上看到一个网友的写法: protected void Button2_Click(object sender, EventArgs e) { this.TextBox1.Text = this.TextBox3.Text = this.TextBox4.Text

WPF编程:textbox控件文本框数据显示最后一行

TextBox控件在接收大量数据的时候,滚动条一般在最上方,如何使滚动条随着数据的接收而向下滚动呢?比如有一个TextBox'控件txbRecvData,按下面的语句就可以了: this.txbRecvData.ScrollToLines(this.txbRecvData.LineCount - 1); WPF TextBox背景提示文字http://www.cnblogs.com/by-lhc/p/7213710.html?utm_source=itdadao&utm_medium=refer

常用基本控件测试用例

目录: 树控件的测试 下拉框(列表框)测试用例设计 文本框为字符型 日期控件文本框的测试 命令按钮控件的测试 单选按钮控件的测试 翻页控件的测试 上传控件的测试 up-down控件文本框的测试 复选框的测试 滚动条控件的测试 各种控件在窗体中混和使用时的测试 查找替换操作 插入操作 编辑操作 界面测试用例的设计方法 菜单 特殊属性 其他 树控件的测试外观操作 1)项目中的所有树是否风格一致 2)树结构的默认状态是怎样的.比如默认树是否是展开,是展开几级?  是否有默认的焦点? 默认值是什么?展开

安卓常用布局控件、监听器总结

来源于http://blog.csdn.net/u013901909/article/details/50051615 布局管理器 名称 作用 要点 特点 总结 备注 LinearLayout 线性布局 控制组件 横向 或者 纵向 排列 android:layout_gravity 是控制组件本身的对齐方式, android:gravity是控制本容器子组件的对齐方式; 适用性强 傻瓜式的依次顺序布局   RelativeLayout 相对布局 子组件的位置总是相对兄弟组件,父容器来决定的 (1

基于jQuery 常用WEB控件收集

Horizontal accordion: jQuery 基于jQuery开发,非常简单的水平方向折叠控件. Horizontal accordion: jQuery jQuery-Horizontal Accordion 具有XBOX360 blade界面风格的水平方向Accordion. jQuery-Horizontal Accordion AutoComplete-JQuery jQuery插件易于集成到现在的表单中(Form). AutoComplete-JQuery Facebook

silverlight中常用的控件

一.布局控件 Canvas面板是一种很基础的布局面板,它支持对其中的控件采用绝对坐标定位.Canvas.Top和Canvas.Left.Canvas.ZIndex附加属性:如果指定了两个控件相对于父容器Canvas同样的边距,则后面声明的控件父覆盖前面声明的控件.这时我们可以使用Canvas.ZIndex属性来改变它们的显示顺序. StackPanel是一种简单的布局面板,它支持用行或列的方式来定位其中包含的控件.StackPanel 常用于安排页面上的一个很小的 UI 部分.默认情况下,Ori

android_常用UI控件_01_TextView3_点击打开新的activity

点击textview打开新的activity (1) MainActivity.java package com.example.android_textview_opennewactivity; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.SpannableString; import android.text.Spanned;

android_常用UI控件_01_TextView4_rollingsubtitles效果加链接文字

(1)Mainactivity.java package com.example.android_textview_rollingsubtitles; import java.sql.Wrapper; import android.os.Bundle; import android.app.Activity; import android.text.Html; import android.text.TextUtils; import android.text.TextUtils.Truncat