EditText的技巧




首先在xml布局文件中加入

<EditText
        android:id="@+id/edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
/>
我们就实现了如下

如何实现像下图一样 在用户输入前给提示语句呢

so easy   加一句

android:hint="来个提示句"
就行了



输入任何内容之后该提示句就会消失



由于EditText我指定的高度为wrap_content,所以它总能包容里面内容,可是内容过多时界面总会变得难看,所以我们可以用android:maxLines来解决,


在这里我限制最大行数为2行

,超过的内容将向上滚动,而不是将文本框拉伸


还可以和其他按钮互动


xml处

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   >
<TextView
    android:id="@+id/text_1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="This is a normal activity"/>
    <EditText
        android:id="@+id/edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="来个提示句"
        android:maxLines="2"
       />
    <Button android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="SHOW"
        />
</LinearLayout >


Java处

public class NormalActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.normal_layout);
        Button button=(Button)findViewById(R.id.button_1);
        final EditText editText =(EditText)findViewById(R.id.edit_text);
        final TextView textView=(TextView)findViewById(R.id.text_1);
        button.setOnClickListener(new View.OnClickListener(){
//按钮单击后显示输入文字于上方文本框
            @Override
            public void onClick(View v){
                 
                String inputtext=editText.getText().toString();
                textView.setText(inputtext);

            }

        });
    }
}


关于xml里改变颜色语句

android:textColorHint="@android:color/holo_orange_light"<!--提示文字颜色->
        android:textColor="@android:color/holo_green_dark"<!--文字颜色->
        android:textCursorDrawable="@android:color/holo_red_light"<!--修改光标颜色->
        android:textColorLink="@android:color/holo_red_dark"<!--链接的颜色->

下面这段是网上找到的关于横屏时,弹出软键盘不全屏
不知你是否注意到,当我们手机横屏,且使用Android自带的软键盘为EditText进行文本输入时,若不进行特殊的设置,该软键盘会占用整个界面,那么,如何让键盘只占用屏幕的一部分呢? 其实只需要改一个小小的属性即可!
 

<EditText   
    android:id="@+id/text1"   
    android:layout_width="150dip"   
    android:layout_height="wrap_content"  
    android:imeOptions="flagNoExtractUi"/>  
另外使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置:
android:imeOptions="flagNoExtractUi"  //使软键盘不全屏显示,只占用一部分屏幕
同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键
android:imeOptions="actionNone"  //输入框右侧不带任何提示
android:imeOptions="actionGo"    //右下角按键内容为'开始'
android:imeOptions="actionSearch"  //右下角按键为放大镜图片,搜索
android:imeOptions="actionSend"    //右下角按键内容为'发送'
android:imeOptions="actionNext"   //右下角按键内容为'下一步'
android:imeOptions="actionDone"  //右下角按键内容为'完成'
同时,可能EditText添加相应的监听器,捕捉用户点击了软键盘右下角按钮的监听事件,以便进行处理。

editText.setOnEditorActionListener(new OnEditorActionListener() {  
        @Override  
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
            Toast.makeText(MainActivity.this, "text2", Toast.LENGTH_SHORT).show();  
            return false;  
        }  
    });  


 
发布了36 篇原创文章 · 获赞 69 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/xchaha/article/details/79055664