点击事件(移动应用)
·
一、安装输入法
1、下载
链接: https://pan.baidu.com/s/1GSg0TutfSDk7gvhDdJGlcw?pwd=ppoj 提取码: ppoj
网站:搜狗输入法-官网
2、安装
下载之后,运行你的模拟器然后拖进去就会自行安装
一般拖进去了之后就会自动在下载页面就会出现搜狗输入法的图标,但是主包的不行电脑版本又不匹配(哈哈哈哈哈哈卡在这一步半个小时)
如果你也是这样我们换个搜狗的版本链接
链接: https://pan.baidu.com/s/1bWOAw85W0nm_JK5pql1ptA?pwd=yyuy 提取码: yyuy
二、对话框的使用
1、运行结果
2、代码展示
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="确定"
android:layout_gravity="center"
/>
</LinearLayout>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.alterdialog);
//对话框的使用
// 获取id为button的按钮
Button button =(Button)findViewById(R.id.button);
// 设置点击事件监听器
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 点击了按钮之后弹出对话框
new AlertDialog.Builder(MainActivity.this).setTitle("系统提示") //设置标题
.setMessage("请确认所有数据都保存之后再退出系统!") //对话框内容
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 点击事件:关闭退出该界面
finish();
}
}).setNegativeButton("返回", newDialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
}
});
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
}
3、知识重点
- AlertDialog.Builber类构建对话框
方法 / 属性 | 说明 |
---|---|
.show() |
显示对话框,等价于builder.create().show() |
.setTitle() |
设置对话框标题 |
.setMessage() |
设置对话框主体内容 |
.setIcon() |
在标题左侧添加图标 |
.setPositiveButton() |
主要按钮(通常为 “确定”),执行核心操作,点击触发自定义逻辑 |
.setNegativeButton() |
次要按钮(通常为 “取消”),用于取消操作,默认关闭对话框 |
.setNeutralButton() |
中立按钮(通常为 “稍后”),用于非核心但必要的操作 |
.setCancelable() |
控制是否可通过返回键或点击外部关闭:true (默认允许)、false (强制按钮关闭) |
.setOnCancelListener() |
监听对话框被取消事件 |
.setOnDismissListener() |
监听对话框消失事件 |
自定义布局适配 | 使用setView() 时,布局宽高建议用wrap_content 或固定值,避免显示异常 |
三、列表点击事件
1、运行结果
2、代码展示
<?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"
android:id="@+id/main"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="了解学校"
android:textSize="20dp"
/>
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
</LinearLayout>
在res/values/arrays.xml,如图
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="school_names">
<item>湖南大学</item>
<item>科技大学</item>
<item>湖南文理学院</item>
<item>湖南师范大学</item>
<item>城市学院</item>
</string-array>
</resources>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
// 找到listview和textview
ListView list = findViewById(R.id.list);
TextView text = findViewById(R.id.text);
//获取数据源
String[] schools = getResources().getStringArray(R.array.school_names);
// 创建适配器与字符串数组绑定
list.setAdapter(new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, schools));
//点击事件监听器
list.setOnItemClickListener((parent, view, position, id) -> {
//获取字符串数组下标
String selected = schools[position];
text.setText("选中:" + selected);
Toast.makeText(this,"点击了"+selected,Toast.LENGTH_SHORT).show();
});
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
}
3、知识重点
setOnItemClickListener
监听ListView
项的点击,position
参数表示点击项在数组中的下标。Toast.makeText(...)
弹出 “点击了 XXXX” 的提示气泡。resultText.setText(...)
在底部TextView
显示 “选中:XXXX”,对应图中底部的结果展示。
四、文本视图点击事件
1、运行结果
2、代码展示
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pltext"
android:hint="请输入内容"
/>
</LinearLayout>
在res/values/arrays.xml,如图
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="school_names">
<item>湖南大学</item>
<item>科技大学</item>
<item>湖南文理学院</item>
<item>湖南师范大学</item>
<item>城市学院</item>
</string-array>
</resources>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到AutComPleteTextView 组件
AutoCompleteTextView autoCompleteTextView =findViewById(R.id.pltext);
// 从资源库获取数据源
String[] schoolNames = getResources().getStringArray(R.array.school_names);
// 创建适配器
ArrayAdapter<String> adapter =new ArrayAdapter<>(
this,
android.R.layout.simple_dropdown_item_1line,
schoolNames
);
//绑定适配器与控件
autoCompleteTextView.setAdapter(adapter);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
}
3、知识重点
- AutoCompleteTextView 继承自EditText,功能为"输入时自动匹配候选内容“,需要与适配器配合使用。
- 创建适配器通过ArrayAdapter关联上下文、布局样式、数据源三者,最终通过setAdapter()绑定到AutoCompleteTextView。
更多推荐
所有评论(0)