您的位置:首页 > 产品设计 > UI/UE

第二章 吸引你的眼球—UI编程(2)

2014-12-29 18:46 253 查看

2.1.3文本编辑—编辑框(EditText)

EditText在我们开发中也是经常要用到的组件。比如,要实现一个登录界面,需要用户输入帐号、密码、邮件等信息,这里就需要使用EditText组件来获得用户输入的内容,下面,我们就以一个登录界面为例,来看看EditText是怎么使用的。 1)在布局文件中定义一个TextView(用来响应按钮事件),两个EditText组件(一个用来记录用户名,一个用来记录密码)一个登录按钮和一个取消按钮,代码如下:
<?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"> <EditText android:id="@+id/name_edittext" android:layout_width="200dp" android:layout_height="wrap_content" android:hint="请输入用户名"/> <EditText android:id="@+id/pwd_edittext" android:layout_width="200dp" android:layout_height="wrap_content" android:password="true" android:hint="请输入密码"/> <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/ok_button" android:layout_width="80dp" android:layout_height="wrap_content" android:text="登录"/> <Button android:id="@+id/cancel_button" android:layout_width="80dp" android:layout_height="wrap_content" android:text="取消"/> </LinearLayout> </LinearLayout>
EditText中android:hint这个属性是当用户没有输入任何内容的时候默认显示的提示信息。当然,我们也可以在代码中轻松地实现,例如:
EditText editView = (EditText)findViewById(R.id.name_edittext);
editView.setHint("请输入用户名");
而android:password这个属性是用于输入密码之类涉及隐私需要保密的信息。 2)点击“登录”按钮时,判断用户名和密码是否都已输入,若是则在TextView中显示“登录成功”,否则的话显示“请检查输入信息”;点击“取消”按钮时,将TextView和EditText中的文本全部清空,部分代码如下:
okButton = (Button)findViewById(R.id.ok_button); cancelButton = (Button)findViewById(R.id.cancel_button); nameEditText = (EditText)findViewById(R.id.name_edittext); pwdEditText = (EditText)findViewById(R.id.pwd_edittext); statusTextView = (TextView)findViewById(R.id.status_textview); okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(nameEditText.length()==0||pwdEditText.length()==0){ statusTextView.setText("请检查输入信息"); }else{ statusTextView.setText("登录成功"); } } }); cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { nameEditText.setText(""); pwdEditText.setText(""); statusTextView.setText(""); } });
我们来看看效果,如图2-6、2-7、2-8所示:

图2-6 初始界面

图2-7 输入信息不完整

图2-8 登录成功 --------------------------------------------试着放个广告 现在没工作 要生存 没办法平安陆金所 隶属于平安集团的p2p平台年投资回报率7%-9% 是替代银行理财的首选个人经验教训 推荐投资安鑫或者有担保的彩虹项目不要投资安e 那个几乎无法转让 想提前提现非常困难注册链接 http://affiliate.lufax.com/action/36XBU用此链接注册 你我都会有几十元的额外现金奖励--------------------------------------------
经验分享:
很多时候,EditText组件会默认获得焦点,并弹出软键盘,但是我们并不想要这样的效果。这个时候,可以在布局文件中加入以下代码来避免这样的情况出现:
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:focusableInTouchMode="true"
android:focusable="true" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: