Android学习笔记---第二天---基础UI组件---EditText

EditText是TextView的子类所以在使用上与TextView十分的相似他们之间的绝大部分方法与属性可以共用,但EditText相对TextView而言增加了用户输入的功能。

常用属性

之前的TextView的常用属性

android:inputType            //设置该文本框的输入风格如密码,email,手机号码等;可用属性值参考API

android:minEms        //设置最小宽度单位em

android:maxEms        //设置最大宽度单位em

android:ems         //设置宽度单位em

android:hint         //设置提示文字

android:singleLine     //是否为单行模式

android:lines        //默认行数

android:scrollHorizontally //是否允许水平滚动

android:editable      //该文本框是否允许编辑

android:drawableStart    //在文本框开始处绘制图片

android:drawableLeft    //在文本框左边处绘制图片,当然还有右边顶端底部等等;

android:ellipsize      //当文本内容超出长度是怎么处理,none不做不理;start在文本开始处截断显示省略号;middle中间截断显示省略号;end结尾处截断显示省略号;marquee使用maequee滚动动画显示文本;

代码

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/newEditText0"
       android:minEms="7"
        android:maxEms="10"
        android:hint="请输入姓名。。。"
        android:singleLine="true"
        android:drawableLeft="@drawable/ic_launcher"
        android:inputType="text"
     />

效果图

Android学习笔记---第二天---基础UI组件---EditText_第1张图片

常用函数

和之前一样大部分都是直接属性名前面加set;

绘制图片的方法

setCompoundDrawablesRelativeWithInTrinsicBounds(Drawable,Drawable,Drawable,Drawable)

//四个参数分别表示开始,顶部,结束,底部;

另外需要注意如setHint(int)函数的参数为int类型但它用来设置一个文本数据你可以在一个xml文件中写好你需要的数据再作为参数传入。如

editText.setHint(R.string.edittext);
在xml文件中

<resources>
    <string name="app_name">My Application</string>
    <string name="action_settings">Settings</string>
    <string name="edittext">input you name</string><!--这个就是用来当做hint属性值的-->
</resources>

//这个xml文件在res/value/sstrings.xml;

小练习

用Java代码修改xml中定义好的EditText组件属性,但按钮按下时将EditText的内容用TextView显示出来;

XML布局

<?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="wrap_content"
    android:orientation="vertical">
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/newEditText0"
        android:minEms="7"
        android:maxEms="10"
        android:hint="请输入姓名。。。"
        android:singleLine="true"
        android:drawableLeft="@drawable/ic_launcher"
        android:inputType="text"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40sp"
        android:text="tmp"
        android:id="@+id/newTextView0"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="run"
        android:onClick="newbut"/>
</LinearLayout>

Java代码

//前面省略。。。
public class MainActivity extends AppCompatActivity {
    private EditText editText;
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText=(EditText)findViewById(R.id.newEditText0);
        textView=(TextView)findViewById(R.id.newTextView0);
        try {
            editText.setHint(R.string.edittext);
            editText.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher);
        } catch (NullPointerException e) {
            e.printStackTrace();
        }
    }
    public void newbut(View V){
        textView.setText(editText.getText());
    }
//后面省略。。。

效果图


你可能感兴趣的:(android)