EditText 输入框,继承自TextView ,其实就是一个 Editable 属性默认设置为了 true 的 TextView 使用方法大致和TextView 一样
1,简单的 EditText 使用:
和之前一样,设置一些简单的属性就可以做到最简单的使用了
layout_width:定义好控件宽度
layout_height:定义好控件高度
id:定义好控件的 id 方便查找
<?xmlversion="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.oufenghua.edittextdemo.MainActivity">
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_margin="20dp"
android:src="@android:drawable/ic_menu_send" />
</RelativeLayout>
有一些常用的属性设置需要注意一下:
android:inputType 限制输入的形式,默认是 text:任何文本
none:本文本框不可编辑
number:只允许输入数字
numberPassword:数字密码(输入后自动变成点点)
textPassword:文本密码(输入后自动变成点点)
android:hint 设置文本框中的提示文字
android:textColor 设置文本框里面的文字颜色
android:textSize 设置文字大小
android:background="@null" 设置背景为 null 就可以消去下划线
2,Java中获取输入框输入的文字
那么,既然是文本框,如何获得它所输入的文本是最重点的是吧
为了方便演示,我先在原布局上加了一个文本和一个按钮
<?xmlversion="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.oufenghua.edittextdemo.MainActivity">
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"/>
<TextView
android:id="@+id/showtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Hello World"
android:textColor="@color/colorPrimary"
android:textSize="30sp" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_margin="20dp"
android:src="@android:drawable/ic_menu_send" />
</RelativeLayout>
然后再Java文件中监听一个按钮,然后在点击后进行获取文本的操作
importandroid.support.design.widget.FloatingActionButton;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.EditText;
importandroid.widget.TextView;
publicclass MainActivity extends AppCompatActivity implements View.OnClickListener {
/**
* 输入框
*/
private EditText editText;
/**
* 按钮
*/
private FloatingActionButton fab;
/**
* 文本框
*/
private TextView textView;
/**
* 获取到的文本字符串
*/
private String input;
@Override
protected void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//关联控件资源
editText = (EditText)findViewById(R.id.edittext);
fab = (FloatingActionButton)findViewById(R.id.fab);
textView = (TextView)findViewById(R.id.showtext);
//监听控件
fab.setOnClickListener(this);
}
/**
* 点击后的操作
*
* @param view 被点击的控件
*/
@Override
public void onClick(View view) {
//获取当前EditText中的文本
input = editText.getText().toString();
//设置TextView中的文本
textView.setText(input);
}
}
效果演示:
获取文本的主要方法就是XXX.getText().toString(); 获取到的是一个 String 类型的变量
输入框的大致常用操作就是输入而已,比较简单