十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在一个应用中,登录是经常使用的,下面我们学习一下如何开发一个登录窗口。我们需要学习Android中的基本控件:(1)EditText编辑框、(2)Button按钮。
创新互联建站从2013年成立,是专业互联网技术服务公司,拥有项目网站设计制作、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元庆城做网站,已为上家服务,为庆城各地企业和个人服务,联系电话:18980820575一、设计登录窗口
打开“res/layout/activity_main.xml”文件。
1、分别从工具栏向activity拖出2个EditText(来自Text Fields)、1个按钮(来自Form Widgets)。
2、打开activity_main.xml文件。
代码自动生成如下:注意①和②虽同为EditText,但②要输入密码,故android:inputType="textPassword“。
3、我们把以上代码修改成如下代码,具体为:editText1变为userName;eidtText2变为passWord;buttion1变为login。登录按钮的文本:android:text="Button"变为"登录"。
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> android:id="@+id/userName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_marginTop="52dp" android:ems="10" > android:id="@+id/passWord" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/userName" android:layout_below="@+id/userName" android:ems="10" android:inputType="textPassword" />
现在运行程序,已经在手机上看起来很像一个登录窗口了。但是,我们单击“登录”按钮,却没有什么反应。我们下面学习如何在“登录”按钮上添加单击事件。
二、单击事件
打开“src/com.genwoxue.edittextbutton/MainActivity.java”文件。
然后输入以下代码:
package com.example.hw;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText tvUserName = null;
private EditText tvPassWord = null;
private Button btnLogin = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvUserName = (EditText) super.findViewById(R.id.userName);
tvPassWord = (EditText) super.findViewById(R.id.passWord);
btnLogin = (Button) super.findViewById(R.id.login);
btnLogin.setOnClickListener(new LoginOnClickListener());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private class LoginOnClickListener implements OnClickListener{
public void onClick(View v) {
// TODO 自动生成的方法存根
String username = tvUserName.getText().toString();
String password = tvPassWord.getText().toString();
String info = "用户名:"+username+" 密码:"+password;
Toast.makeText(getApplicationContext(), info, Toast.LENGTH_SHORT).show();
}
}
}
1、第①部分
导入5个包。OnClickListener不要导错了。否则btnLogin.setOnClickListener(new LoginOnClickListener());报错
2、第②部分
声明三个控件变量。
3、第③部分
这一部分findViewById()方法是一个关键,这个方法表示从R.java文件中找到一个View(注意:我们可以把控件和Acitivity都当成一个View)。例如,tvUserName=(EditText)super.findViewById(R.id.userName)表示我们从R文件中找到userName代表的控件最后返给tvUserName,下一步我们可以通过tvUserName.getText()方法进一步获取到它的值。
另一个关键是就是给“登录”按钮添加单击监听事件:btnLogin.setOnClickListener(new LoginOnClickListener())。
4、第④部分
我们新建一个类LoginOnClickListener继承接口OnClickListener用以实现单击事件监听。
Toast.makeText(getApplicationContext(), info,Toast.LENGTH_SHORT).show()用以提示输入的用户名和密码。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。