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

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 ;
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值