安卓学习-(编写界面(常用控件及属性))

来源:互联网 发布:网络语言翻译文言文 编辑:程序博客网 时间:2024/06/17 12:35
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 voidonClick(View v) {
switch(v.getId()) {
caseR.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 voidonCreate(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 voidonClick(View v) {
switch(v.getId()) {
caseR.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 voidonCreate(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 voidonClick(View v) {
switch(v.getId()) {
caseR.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"/>

获取值:
privateCheckBox rememberPass = (CheckBox) findViewById(R.id.remember_pass);
booleanisRemember = rememberPass.isChecked()//获取值
rememberPass.setChecked(true);//设置值

6、加载条、进度条(此时的进度条只是界面上的一个普通元素,没有遮罩层)
<!--普通圆形进度条-->
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

控制进度条显示和隐藏:
privateProgressBar progressBar;

@Override
protected voidonCreate(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 voidonClick(View v) {
switch(v.getId()) {
caseR.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"
/>
在代码中动态改变百分比进度条:
privateProgressBar progressBar;

@Override
protected voidonCreate(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 voidonClick(View v) {
switch(v.getId()) {
caseR.id.button:
intprogress = progressBar.getProgress();
progress = progress +10;
progressBar.setProgress(progress);
if(progress >=100){
progressBar.setVisibility(View.GONE);
}
break;
default:
break;
}
}

7、ProgressDialog (弹出圆形加载条)
@Override
public voidonClick(View v) {
switch(v.getId()) {
caseR.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 voidonClick(View v) {
switch(v.getId()) {
caseR.id.button:
AlertDialog.Builder dialog =new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("this is alertdialog");
dialog.setMessage("balabalabala");
dialog.setCancelable(false);
dialog.setPositiveButton("OK",
newDialogInterface.OnClickListener(){
@Override
public voidonClick(DialogInterface dialogInterface,int i) {

}
});
dialog.setNegativeButton("cancel",
newDialogInterface.OnClickListener(){
@Override
public voidonClick(DialogInterface dialogInterface,int i) {

}
});
dialog.show();
break;
default:
break;
}
}



阅读全文
0 0