900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Android开发三:常用控件1--TextView EditText Button

Android开发三:常用控件1--TextView EditText Button

时间:2018-06-15 08:05:00

相关推荐

Android开发三:常用控件1--TextView EditText Button

上一节写到android的工程目录结构,这一节继续,开始学习控件,中间的跨度挺大,关于Activity和intent的知识我就略过了,原因很简单,网上的关于那个的资料特别多,而且理论的东西我这都是了解就行,那些东西,在应用的过程中自然会熟练起来,还有就是我也是新手,对于那些东西不敢写,怕误人...。

这次写的控件有三个,TextView、EditText、Button。我以前学过winform,很简单就能找到对应的空间,TextView就是一个lable标签,用于显示不可编辑的文字。EditText是一个文本框,用于获取用户输入的文本信息。Button就是自然一个按钮了。

通过一个例子来学习三个控件。下面来做一个计算两个数字和的小程序,三个控件一次学完。

在Eclipse新建一个工程,如图:

创建好以后,打开res目录下,layout下的main.xml,切换到xml代码视图。把代码修改为如下

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<EditText

android:id="@+id/num1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:inputType="number"></EditText>

<TextView

android:text="@string/symbol"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="20sp"

/>

<EditText

android:id="@+id/num2"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:inputType="number"></EditText>

<Button android:id="@+id/plusbtn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="@string/plus" />

</LinearLayout>

下面讲解这段代码,这个文件首先是一个xml头,里面是一个LinearLayout布局控件,这是一个线性布局空间,先不说,以后留着单独学习。布局空间里面放了两个EditText控件,用于让用户输入两个数字。中间是一个TextView控件,控件主要用来显示文字。最后是一个按钮控件,点击计算值。

以上几个控件都有几个属性:

android:id属性,是控件的id,格式为@+id/someid,这样在程序的R.java文件里面就能自动生成控件的id值的索引,在程序中就可以用R.id.someid取得控件。

android:layout_width和android:layout_height属性,分别是空间的宽和高,通常值为 fill_parent或者wrap_content,当然也可以用数值。

android:text属性是控件上面显示的文本,值可以直接写,但是不建议,一般是在res目录下的string.xml里面定义,在代码里用@string/str来调用,或者在后台代码利用R.sting.str来使用。

android:inputType 我在两个EditText中都加入了一个inputType属性,值为number,这个值的意思是只允许输入数字,因为我们是求两个数字的和。可以去掉这个属性前后比较一下。

android:textSize这个属性就是字体的大小。单位有sp,dp,px等。可以百度一下。

最后的button上面还有一个android:layout_gravity属性,用这个属性,我把button设置成了居中显示。

这个文件就讲解到这里,下面来看string.xml里面的内容

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World, Textview_EditText_Button!</string>

<string name="app_name">Textview_EditText_Button</string>

<string name="symbol">加上</string>

<string name="plus">计算</string>

<string name="warning">请输入完整!</string>

<string name="about">关于</string>

<string name="exit">退出</string>

<string name="aboutmessage">天意人间,YYJ</string>

</resources>

下面三个就是我自己加的,第一个是标签上的文字,第二个是按钮上面的文字。最后一个在后面的程序里面用来提示。

界面部分到此结束,现在有个样子了,可以运行下看看,如图

下面来编写程序实现功能。

下面是编写好的程序,Textview_EditText_Button.java的代码

package com.yyj.Textview_EditText_Button;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class Textview_EditText_Button extends Activity {/** Called when the activity is first created. */private EditText num1;private EditText num2;private Button plusbtn;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);num1=(EditText)findViewById(R.id.num1);num2=(EditText)findViewById(R.id.num2);plusbtn=(Button)findViewById(R.id.plusbtn);plusbtn.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubString numstr1=num1.getText().toString();String numstr2=num2.getText().toString();if (numstr1.length()>0&&numstr2.length()>0) {int n1=Integer.parseInt(numstr1);int n2=Integer.parseInt(numstr2);Toast.makeText(Textview_EditText_Button.this, n1+"+"+n2+"="+(n1+n2), Toast.LENGTH_LONG).show();}else {Toast.makeText(Textview_EditText_Button.this, R.string.warning, Toast.LENGTH_LONG).show();}}});} }

接着来说这一段代码,先是定义了三个控件

private EditText num1;private EditText num2;private Button plusbtn;

然后通过findViewById取得程序中的两个文本框和一个按钮

num1=(EditText)findViewById(R.id.num1);num2=(EditText)findViewById(R.id.num2);plusbtn=(Button)findViewById(R.id.plusbtn);

findViewById的作用就是通过id的到控件,它的参数就是控件在R.java文件中生成的id索引。感觉类似于javascript中的getElementById…

然后给按钮绑定点击事件,这个应该在java中学过,我接触java不太多,不太清楚。plusbtn.setOnClickListener(),学过java的应该很容易看懂。

最后要说的一点就是后面的那个Toast。这是android中的一个提示,效果如下

,过一段时间后会自己消失,用来显示信息效果挺好。

最后运行程序,如下图

点击计算按钮后,注意划红线部分。

恩,此节到此完成。

至于理论部分,我这里不会写,程序中用到了会提。

编辑器太不给力了,每次发布完看的时候都有一部分代码显示不出来,还得改一遍...

最后附上本次生成的apk文件,不能传,改成了zip扩展名,Textview_EditText_Button.zip

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。