1、TextView
<!--layout_width="match_parent" :当前控件大小和父控件一样,
layout_width="wrap_content" : 当前控件大小刚好能够包裹住内容 -->
<!-- android:gravity="center" :文字对其方式,可选项为
top、bottom、left、rirht、center,center_vertical, center_horizontal
中间可以用 | 来指定多个;
center相当于于center_vertical | center_horizontal-->
<!-- android:textColor="#00ff00":修改文字颜色 -->
<!-- 修改文字大小:android:textSize="24sp" 其中sp是大小单位-->
<
TextView
android
:id=
"@+id/text_view"
android
:layout_width=
"match_parent"
android
:layout_height=
"wrap_content"
android
:gravity=
"center"
android
:textSize=
"24sp"
android
:textColor=
"#00ff00"
android
:text=
"This is TextView"
/>
2、Button
<!--这里的text中的button是小写的,但是在app里自动转成大写的
如果想关闭这个特性,使用:android:textAllCaps="false"-->
<
Button
android
:id=
"@+id/button"
android
:layout_width=
"match_parent"
android
:layout_height=
"wrap_content"
android
:text=
"Button"
android
:textAllCaps=
"false"
/>
设置button点击事件的两种方式:
第一种:在onCreate的时候设置监听,
然后重写活动的监听函数如下:
Button button = (Button) findViewById(R.id.
button
);
button.setOnClickListener(
this
);
@Override
public void
onClick(View v) {
switch
(v.getId()) {
case
R.id.
button
:
ProgressDialog progressDialog =
new
ProgressDialog(MainActivity.
this
);
progressDialog.setTitle(
"This is ProgressDialog"
);
progressDialog.setMessage(
"Loading..."
);
progressDialog.setCancelable(
true
);
progressDialog.show();
break
;
default
:
break
;
}
}
第二种:也就是我们常用的普通方式,直接在onCreate中编写逻辑:
Button button2 = (Button) findViewById(R.id.button_2);
button2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {}
});
3、EditText
<!-- 文本框里的那些提示性文字:android:hint="Type something here"
固定行数,如果输入很多,就滚动:android:maxLines="2"
-->
<
EditText
android
:id=
"@+id/edit_text"
android
:layout_width=
"match_parent"
android
:layout_height=
"wrap_content"
android
:hint=
"Type something here"
android
:maxLines=
"2"
/>
获取EditText中的值
@Override
protected void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main
);
Button button = (Button) findViewById(R.id.
button
);
editText
= (EditText) findViewById(R.id.
edit_text
);
button.setOnClickListener(
this
);
}
@Override
public void
onClick(View v) {
switch
(v.getId()) {
case
R.id.
button
:
String inputText =
editText
.getText().toString();
Toast.
makeText
(MainActivity.
this
, inputText,Toast.
LENGTH_SHORT
).show();
break
;
default
:
break
;
}
}
4、ImageView
<!--我们在res下面新建一个drawable-xhdpi目录
我们的图片从这里取,例如img_1.png-->
<
ImageView
android
:id=
"@+id/image_view"
android
:layout_width=
"wrap_content"
android
:layout_height=
"wrap_content"
android
:src=
"@drawable/img_1"
/>
动态的更换显示的图片:
@Override
protected void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main
);
imageView
= (ImageView) findViewById(R.id.
image_view
);
Button button = (Button) findViewById(R.id.
button
);
button.setOnClickListener(
this
);
}
@Override
public void
onClick(View v) {
switch
(v.getId()) {
case
R.id.
button
:
imageView
.setImageResource(R.drawable.
img_2
);
break
;
default
:
break
;
}
}
5、CheckBox
<
CheckBox
android
:id=
"@+id/remember_pass"
android
:layout_width=
"wrap_content"
android
:layout_height=
"wrap_content"
/>
获取值:
private
CheckBox
rememberPass
= (CheckBox) findViewById(R.id.
remember_pass
);
boolean
isRemember =
rememberPass
.isChecked()
//获取值
rememberPass
.setChecked(
true
);
//设置值
6、加载条、进度条(此时的进度条只是界面上的一个普通元素,没有遮罩层)
<!--普通圆形进度条-->
<
ProgressBar
android
:id=
"@+id/progress_bar"
android
:layout_width=
"match_parent"
android
:layout_height=
"wrap_content"
/>
控制进度条显示和隐藏:
private
ProgressBar
progressBar
;
@Override
protected void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main
);
Button button = (Button) findViewById(R.id.
button
);
progressBar
= (ProgressBar) findViewById(R.id.
progress_bar
);
button.setOnClickListener(
this
);
}
@Override
//点击按钮,切换显示和隐藏
public void
onClick(View v) {
switch
(v.getId()) {
case
R.id.
button
:
if
(
progressBar
.getVisibility() == View.
GONE
){
progressBar
.setVisibility(View.
VISIBLE
);
}
else
{
progressBar
.setVisibility(View.
GONE
);
}
break
;
default
:
break
;
}
}
<!--百分比进度条-->
<!--通过style设置样式,通过max设置最大值-->
<
ProgressBar
android
:id=
"@+id/progress_bar"
android
:layout_width=
"match_parent"
android
:layout_height=
"wrap_content"
style=
"?android:attr/progressBarStyleHorizontal"
android
:max=
"100"
/>
在代码中动态改变百分比进度条:
private
ProgressBar
progressBar
;
@Override
protected void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main
);
Button button = (Button) findViewById(R.id.
button
);
progressBar
= (ProgressBar) findViewById(R.id.
progress_bar
);
button.setOnClickListener(
this
);
}
@Override
public void
onClick(View v) {
switch
(v.getId()) {
case
R.id.
button
:
int
progress =
progressBar
.getProgress();
progress = progress +
10
;
progressBar
.setProgress(progress);
if
(progress >=
100
){
progressBar
.setVisibility(View.
GONE
);
}
break
;
default
:
break
;
}
}
7、ProgressDialog (弹出圆形加载条)
@Override
public void
onClick(View v) {
switch
(v.getId()) {
case
R.id.
button
:
ProgressDialog progressDialog =
new
ProgressDialog(MainActivity.
this
);
progressDialog.setTitle(
"This is ProgressDialog"
);
progressDialog.setMessage(
"Loading..."
);
//果设置为false,就不可以通过后退按钮取消
progressDialog.setCancelable(
true
);
progressDialog.show();
break
;
default
:
break
;
}
}
8、AlertDialog(弹出对话框)
@Override
public void
onClick(View v) {
switch
(v.getId()) {
case
R.id.
button
:
AlertDialog.Builder dialog =
new
AlertDialog.Builder(MainActivity.
this
);
dialog.setTitle(
"this is alertdialog"
);
dialog.setMessage(
"balabalabala"
);
dialog.setCancelable(
false
);
dialog.setPositiveButton(
"OK"
,
new
DialogInterface.OnClickListener(){
@Override
public void
onClick(DialogInterface dialogInterface,
int
i) {
}
});
dialog.setNegativeButton(
"cancel"
,
new
DialogInterface.OnClickListener(){
@Override
public void
onClick(DialogInterface dialogInterface,
int
i) {
}
});
dialog.show();
break
;
default
:
break
;
}
}