Android---2---TextView、Button、EditText
1.TextView
TextView可以说是Android中最简单的一个控件了。它主要用于在界面上显示一段文字信息。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />
这是HelloWorld项目中的一段代码,android:layout_width指定了控件的宽度,同样的android:layout_height指定了控件的高度。
Android中所有的控件都有这两个属性,可选值有三种:match_parent、fill_parent、wrap_content。其中前两个的属性其实是一样的,都表示当前控件的大小和父布局的大小一样。Wrap_content表示让当前控件的大小恰好能包裹期内容。通过修改text属性所代表的值们可以改变界面中显示的文字信息。
TextView中文字默认左上角对齐。
<TextView android:id="@+id/world" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center|left" android:text="@string/hello_world" android:textColor="#00ff00" android:textSize="20pt" />
在这段代码中添加了要显示的文字的颜色以及大小,并给这个控件加了一个id,id是唯一的标识符。
还有gravity和layout_gravity,这两个有什么区别呢。。
gravity控制当前控件内容显示区域,控制的是内容;layout_gravity控制的是当前控件在父元素的位置,控制的是整个控件。
2.Button
Button是TextView派生出来的。其属性方法和TextView有很多相似之处。它们之间最大的区别在于TextView不允许编辑内容,而Button允许编辑。
3.EditText
这是程序用于和用户进行交互的一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。
通过这三个控件我们就可以写一些简单的界面了,比如说登陆界面。
首先是strings.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">login</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="number">请输入账号</string> <string name="psw">请输入密码</string> </resources>
然后是layout 中的activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.login.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/number" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/number" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/psw" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:id="@+id/psw" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登陆" /> </LinearLayout>
最后是src下的MainActivity.java
package com.example.login; import android.app.Activity; 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 MainActivity extends Activity { // 声明控件 private EditText numberText; private EditText pswText; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到控件 numberText = (EditText) findViewById(R.id.number); pswText = (EditText) findViewById(R.id.psw); button = (Button) findViewById(R.id.button); //为Button 设置一个监听器,当以触碰Button按钮是就会触发监听器下的onClick事件 button.setOnClickListener(new BTOnClickListener ()); } public final class BTOnClickListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub String number = numberText.getText().toString(); String psw = pswText.getText().toString(); String Info = number + "+++++" + psw; //利用toast 来提示信息 Toast.makeText(getApplicationContext(), Info, Toast.LENGTH_LONG).show(); } } //下面这些暂时用不到 @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
运行结果:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。