Android 开发入门篇 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器


EditText控件与TextView控件类似,最大的区别就是EdiText允许用户输入!

在布局中加入EditText控件:

 <EditText
        android:id="@+id/eidt"
        android:layout_width="200dp"
        android:layout_height="wrap_content" 
        />

EditText常用属性:

-id: 为EditText设置一个组件id;
-layout_weith: 设置控件的宽度;
-layout_hight: 设置控件的高度;
(以上三个属性每个控件都有,以后不在重复说明了)

-inputType(textPassword): 设置输入内容为密码;
-inputType(Phone): 设置输入的内容为号码;
-maxLength: 设置输入的最大文本数, 参数为数字例如 android:maxLength=“5”;
-maxLines: 设置最大行数,参数为数字;
-minLines: 设置最小行数,参数为数字;
-hint: 设置默认提示文本;
-textColorHint: 设置默认提示文本颜色;
-capitalize: 设置英文字母大小写属性,参数包含:
 sentences: 仅第一个字母大写
 words: 单词首字母大写
 characyers: 全部字母大写;

EditText控件的绑定:

绑定控件的方法也都一样,在onCreate方法中使用findViewById()方法:

public class MyActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //绑定main.xml文件中的EdiText控件
        EditText editText = (EditText) findViewById(R.id.edit);
    }
}

EditText获取用户输入:

绑定后获取用户的输入很容易,使用getText()方法即可:

editText.getText();//获取用户输入的方法

值得一提的是这个方法直接写在绑定好的EditText语句后面是不行的!准确的说是获取不到输入的内容,我们需要一个 触发事件在输入完成后再触发获取输入的方法,就能正常拿到数据啦!下面看代码:

EditText editText;
    TextView text;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editText = (EditText) findViewById(R.id.edit);
        text = (TextView) findViewById(R.id.text);

        text.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                text.setText(editText.getText());;
            }
        });

    }

text.setOnClickListener()方法是text监听方法.用来监听TextView的点击事件。
整个流程就是在输入文本后点击text然后text的文本就会被替换成你输入的文本.

按照上述内容修改文件并运行,查看效果