ProgressBar 进度条
PopuoWindow 弹出框
Dialog 对话框 (重点)
Spinner 下拉框 (重点)
Activity之间的跳转
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startACtivity(intent);
ProgressBar 进图条
进度条分类?
圆形与水平
圆形:style=“?android:attr/progressBarStyle”
水平:style=“?android:attr/progressBarStyleHorizontal”
PopupWindow 弹出框 (不是通过拖拽的方式生成)
可以加载一个view或者导入自定义的xml布局
加载一个view应该怎么做?
在相应的Java类内创造弹窗
TextView textView=new TextView(MainActivity3.this);相应的可以也可以创建其他view
如何导入自定义布局?
在layout下自定义一个layout.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1231241245123"
android:textSize="50dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="heixin"
android:textSize="50dp"/>
</LinearLayout>
在相对应的Java类中加载
View test=getLayoutInflater().inflate(R.layout.test,null);
PopupWindow popupWindow=new PopupWindow(test,400,500);//建立弹窗
Dialog 对话框(不是通过拖拽的方式生成)
Dialog和PopupWindow的区别?
代码区别?
用处区别?
基本的对话框要包含什么内容?
标题
内容
按钮
对话框的种类?
基本对话框
Button btn_dialog_item1;
btn_dialog_item1=findViewById(R.id.btn_dialog_item1);
btn_dialog_item1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//显示对话框
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity4.this)
.setTitle("警告")
.setMessage("确定删除该条数据吗")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity4.this, "取消", Toast.LENGTH_SHORT).show();
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity4.this, "确定", Toast.LENGTH_SHORT).show();
}
});
dialog.show();
}
});
列表对话框 内容:(.setItems(,new DialogInteface.OnClickListener())
btn_dialog_item2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String[] types={"A","B","C","D"};
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity4.this)
.setTitle("请选择你的驾照类别")
//内容
.setItems(types, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
choice=types[i];
Toast.makeText(MainActivity4.this, "你的驾照为"+choice+"照", Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity4.this, "取消", Toast.LENGTH_SHORT).show();
}
});
dialog.show();
}
});
单选列表对话框(RedioButton)内容需要.setSinglechoiceItems(选项,初始选中的按钮(下标从0开始),new DialogInterface.OnClickListener(){}))
btn_dialog_item3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String[] types={"A","B","C","D"};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity4.this)
//标题
.setTitle("你的驾照类别为")
//内容
.setSingleChoiceItems(types, 2, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
choice = types[which];
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity4.this, "你的驾照类别为:"+choice, Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
});
多选列表对话框(checkbox)(.setMultichoiceItems(对话框中的文字,checkbox的初始选择数组,需要实现的接口(匿名内部类)))
btn_dialog_item4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String[] types = {"A照","B照","C照","D照"};
boolean[] checkItems = {true, false, true, false};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity4.this)
.setTitle("你的驾照类别是")
.setMultiChoiceItems(types, checkItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checkItems[which] = isChecked;
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
choice = "";
for (int i = 0 ;i < checkItems.length; i++) {
if (checkItems[i]) {
choice = choice + types[i] + ",";
}
}
Toast.makeText(MainActivity4.this, "你的驾照类别为:"+choice, Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
});
半定义对话框
btn_dialog_item5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View view=getLayoutInflater().inflate(R.layout.test2,null);
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity4.this)
.setTitle("登录")
//传入view(获取view里面的信息作为内容)
.setView(view)
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
EditText user_et=view.findViewById(R.id.editTextTextPersonName);
String user=user_et.getText().toString();
EditText pwd_et=view.findViewById(R.id.editTextTextPersonName2);
String pwd=pwd_et.getText().toString();
Toast.makeText(MainActivity4.this, "账号:"+user+" "+"密码:"+pwd, Toast.LENGTH_SHORT).show();
}
});
dialog.show();
}
});
Spinner 下拉框
静态赋值
读取Strings.xml中的数据,将数据加载到spinner
如何操作
1. 在values/strings.xml 中定义一个 String-array
1. 只需要在Spinner中添加属性 entries,在该属性中调用string-array
getSelectedItem().toString:获取下拉框中的属性并转化为字符串形式
动态赋值
ArrayAdapter
String[] array={"罗马","埃及","印度","中国"};
ArrayAdapter adapter=new ArrayAdapter(SpinnerActivity.this,android.R.layout.simple_expandable_list_item_1,array);
sp_2.setAdapter(adapter);
btn_sp2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sp_2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
choice="";
choice=choice+array[i];
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
Toast.makeText(SpinnerActivity.this, "你选择的是:"+choice, Toast.LENGTH_SHORT).show();
}
});
如何取值?
String str=spinner.getSelectedItem().toString();
跟按钮结合的使用
点击事件是放在button上的
独立使用的
点击事件只能放在Spinner