android的上一个日志是对布局的方式进行一个简单的描述,这一篇主要对android的控件进行一个简单的概述。
曾说过“如果界面是‘战场’的话,那么控件就是‘士兵’,布局方式就是看你怎么排兵布阵了”。怎么描述控件呢,在我看来就像是一个具象的东西来与人进行交互。人可以通过对某个控件的操作来达到某个目的。
接下来就来简单介绍一下我常用的控件和感受吧!哈哈,here we go!
一、年度最常用控件——TextView。这个控件非常常见,我敢说没有任何一个app不用这个控件的,它用来显示字的。(TextView :“我要感谢我的父母,感谢我的开发者,他们把我变得虽然很普通,但是每个android开发人都会使用我,我成了最不可或缺的控件”)。
二、年度最受虐控件——Button。按钮这个控件,也是使用率非常高的,人们通过点击按钮来触发一些事件,这个在app世界里非常常见。 首先在xml文件注册一个控件(一定要加上id),然后在java文件与xml中的控件进行绑定,再进行事件的触发。
实例(登录按钮)
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
style="?android:textAppearanceSmall"
android:text="登录"
android:textSize="13dp"
android:textColor="@color/colorwhite"
android:id="@+id/button1"
android:background="@color/colorButton"
android:layout_marginTop="20dp"
android:width="340dp"
android:height="40dp"
android:layout_centerHorizontal="true"
android:textStyle="bold"
/>
(其中都是button控件的各个属性,关键是id)
java文件:
1.先初始化private Button button;
2.再绑定button= (Button) findViewById(R.id.button1);
3.最后触发点击事件
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//启动等待活动
switch (view.getId()) {
case R.id.button1:
if(AccessNetworkState()) {
progressDialog = new ProgressDialog(LoginActivity.this);
progressDialog.setTitle("正在加载...");
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(true);
progressDialog.show();
Log.d("data1", "Result:" + sResult);
//将数据加入请求当中
number = ((EditText) findViewById(R.id.editText1)).getText().toString();
pwd = ((EditText) findViewById(R.id.editText2)).getText().toString();
boolean flag = false;
String nickname = "";
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("user", number));
params.add(new BasicNameValuePair("password", pwd));
String strUrlPath = "http://www.loushubin.cn/login_user.php";
//调用Thread,创建新线程进行网络请求
sendRequest(strUrlPath, params);
}
else
Toast.makeText(LoginActivity.this,"未连接到网络,请检查网络连接设置",Toast.LENGTH_SHORT).show();
}
}
//启动新的线程
private void sendRequest(final String strUrlPath, final List<NameValuePair> params){
new Thread(new Runnable() {
@Override
public void run() {
String strResult = null;
try {
strResult = HttpUtils.submitPostData(strUrlPath,params,"utf-8");
} catch (IOException e) {
e.printStackTrace();
}
Message message = new Message();
message.what = SHOW_RESPONSE;
message.obj = strResult;
handler.sendMessage(message);
}
}).start();
}
});
三、年度最包容控件——EditText。输入框这个控件就是让人输入一些数据。比如登录时输入的账号,密码等等。
所以在java文件中要做好提取输入内容的工作。
比如
number = ((EditText) findViewById(R.id.editText1)).getText().toString();//提取账号
pwd = ((EditText) findViewById(R.id.editText2)).getText().toString();//提取密码