Android-常用基本控件
控件语法:
<控件标记
属性1="属性值"
属性2="属性值"
.......
属性n="属性值"
/>
控件通用属性:
android:layout_width与android:layout_height
作用:
用于设置控件的基本宽度/高度,必需属性
语法:
android:layout_width="fillparent/match-parent/wrap_content/固定值"
取值:
- fill_parent:表示该组件的宽度/高度与父容器的宽度/高度相同
- Match_parent:同fill_parent,从Android2.2开始推荐使用
- wrap_content:该组件的宽度/高度恰好能包裹它的内容
- 固定值:数值+单位
单位:
- px(Pixels,像素):每个px对应屏幕上的一个点
- in(Inches,英寸):标准长度单位,每英寸等于2.54厘米
- pt(point,磅):屏幕物理长度单位,1磅为1/72英寸
- dip或dp(设置独立像素):一种基于屏幕密度的抽象单位,在每英寸160点的显示器上,1dip=1px。随着屏幕密度改变,dip与px的换算随之改变
- sp(比例像素):主要处理字体的大小,可根据字体大小首选项进行缩放。
- mm(Millimeters,毫米):屏幕物理长度单位
android:id
作用
为当前组件指定一个id属性,在R.java文件中,会自动派生一个对应的资源id值,在Java代码中,可以通过findViewById()方法来获取它。
语法格式
android:id="@+id/id名称"
获取控件
使用findViewById()方法获取
语法格式
控件类 控件名=(控件类)findViewById(R.id.控件id名称);
TextView
作用
显示文字(字符串)的控件,不可编辑,可在代码中通过设置属性改变文字的大小、颜色、样式等功能
语法
方式一
<TextView
属性列表
>
</TextView>
方式二
<TextView
属性列表
/>
文本控件常用方法
tv.append(参数表) | 在文本控件原有内容之后追加显示新内容 |
tv.setText(参数表) | 设置文本控件中显示的内容,会将原内容替换 |
EditText
作用
继承自 TextView ,专门用来进行用户信息的输入,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。简单来说,就是一个输入框,编辑框
语法
方式一
<EditText
属性列表
/>
方式二
<EditText
属性列表
>
</EditText>
使用示例
布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:height="50px" android:text=" 学 号 : "/><EditText android:id="@+id/et_no"android:layout_width="300px"android:layout_height="wrap_content"android:singleLine="true"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:height="50px"android:text=" 姓 名 : "/><EditText android:id="@+id/et_name"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="text" /></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:height="50px"android:text=" 性 别 : "/><EditText android:id="@+id/et_sex"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="text" /> </LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:height="50px"android:text="出生年月:"/><EditText android:id="@+id/et_birth"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="text" /> </LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:height="50px"android:text="专业班级:"/><EditText android:id="@+id/et_class"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="text" /> </LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:height="50px"android:text="电子邮箱:"/><EditText android:id="@+id/et_email"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="text" /> </LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content" android:layout_gravity="center"><Button android:id="@+id/bt_login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登记"android:onClick="onClickLogin"/><Button android:id="@+id/bt_reset" android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="重置"android:onClick="onClickReset"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center" ><TextView android:id="@+id/tv_show"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登记信息:"/></LinearLayout></LinearLayout>
MainActivity
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View. OnClickListener;
public class MainActivity extends Activity {//声明控件TextView tvshow;EditText etno,etname,etsex,etbirth,etclass,etemail;Button btlogin,btreset;//声明String对象String sno,sname,ssex,sbirth,sclass,semail;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);etno = (EditText) findViewById(R.id.et_no);etname = (EditText) findViewById(R.id.et_name);etsex = (EditText) findViewById(R.id.et_sex);etbirth = (EditText) findViewById(R.id.et_birth);etclass = (EditText) findViewById(R.id.et_class);etemail = (EditText) findViewById(R.id.et_email);tvshow = (TextView) findViewById(R.id.tv_show);btlogin = (Button) findViewById(R.id.bt_login);btreset = (Button) findViewById(R.id.bt_reset);}public void onClickLogin(View view){Toast.makeText(MainActivity.this,"登记成功",Toast.LENGTH_SHORT).show();sno = etno.getText().toString();sname = etname.getText().toString();ssex = etsex.getText().toString();sbirth = etbirth.getText().toString();sclass = etclass.getText().toString();semail = etemail.getText().toString();tvshow.append("\n学号:"+sno+"\n姓名:"+sname+"\n性别:"+ssex+"\n出生年月:"+sbirth+"\n专业班级:"+sclass+"\n邮箱:"+semail);}public void onClickReset(View view){Toast.makeText(MainActivity.this,"重置成功",Toast.LENGTH_SHORT).show();etno.setText("");etname.setText("");etsex.setText("");etbirth.setText("");etclass.setText("");etemail.setText("");tvshow.setText("登记信息:");}@Overridepublic 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;}}
运行结果