您的位置:首页 > 移动开发 > Android开发

各种控件和布局--android学习

2016-04-18 21:28 453 查看
TextView

使用android:gravity来指定文字的对齐模式,可选值有top,bottom,left,right,center等。

可以用“|”来指定多个值,如“center_vertical|center_horizontal”等同于“center”

Button

Button两种注册监听的方法:

1.第一种必须随时注册监听

button = (Button)findViewById(R.id.button);
button.setOnClickListener(new onClickListener(){
@Override
public void onClick(View v){
//code
}
});


2.第二种在一个方法内,监听多种事件(要实现OnClickListener接口)

button = (Button)findViewById(R.id.button);
button.setOnClickListener(this);
//重写方法
public void onClick(View v){
switch(v.getId()){
case R.id.button:
//code
break;
default:
break;
}
}
EditText

android:hint:用来编写提示性文本

android:maxLines:指定EditText最多为两行高,不能随着内容的不断增多而被拉长。

如何获取EditText输入的内容?

private EditText  editText;
editText = (EditText)findViewById(R.id.edit_text);
String inputText = editText.getText().toString();

ImageView
android:src:给ImageView指定一张图片

ProgressBar
进度条(默认样式:环形)
可通过style属性设为水平的:style=“?android:attr/progressBarStyleHorizontal”
android:max="100":给进度条设置一个最大值
android:visibility:控件可见
android:invisible:控件不可见,但仍占据空间大小
android:gone:空间不可见,也不占据空间大小
代码控制:
setVisibility():设置控件的可见性
getVisibility():获得控件的可见性状态
上面两个方法传值:View.VISIBLE,View.INVISIBLE,View.GONE
getProcess():获得当前进度条的值
setProcess(myValue):myValue重新设置进度条的值

AlertDialog对话框

AlertDialog.Builder dialog = new AlertDialog.Builder(CurrentActivity.this);
dialog.setTitle("this is a title");
dialog.setMessage("something important.");
dialog.setCancelable(false);//不能通过Back键取消
//设置确定按钮
dialog.setPositiveButton("OK",new DialogInterface.OnclickListener(){
@Override
public void onClick(DialogInterface dialog, int which){

}
});
//设置取消按钮的点击事件
dialog.setNegativeButton("Cancel",new DialogInterface.OnclickListener(){
@Override
public void onClick(DialogInterface dialog, int which){

}
});
dialog.show();

ProgressDialog
当数据加载完成后必须调用ProgressDialog的dismiss()方法来关闭对话框,否则ProgressDialog将会一直存在。

progressDialog progressDialog = new ProgressDialog (MainActivity.this);
progressDialog.setTitle("This is ProgressDialog");
progressDialog.setMessage("loading......");
progressDialog.setCancelable(true);
progressDialog.show();

布局
LinearLayout,线性布局


layout_weight:权值分配

RelativeLayout,相对布局

相对父布局:layout_alignParentLeft = "true"

                       layout_centerInParent = "true"

layout_above:一个控件位于另一个控件的上方。

layout_below:同理

layout_toLeftOf:位于另一控件左侧

layout_toRightOf:同理

layout_alignLeft:两个控件的左边缘对齐

+另一控件的id(必须先出现那另一控件)

FrameLayout

我的理解:页面布局,且无视兄弟控件,即会重叠

TableLayout,顾名思义,表格控件

<TableRow>.......</Tablerow>:定义一行

layout_span = "2":该控件占空间几列

strechColumns = “1”:拉伸第二列控件以达到适应适应屏幕

参考资料《第一行代码--android》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: