一、安装输入法

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。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐