2、 学习各种控件的使用方法。请编写代码,实现TextView、Edittext、Button、ImageButton、CheckBox、RadioButton、Spinner和ListView的界面显示,并完成对Button、ImageButton、RadioButton、Spinner和ListView的鼠标监听事件。
时间: 2023-07-10 17:41:04 浏览: 215
以下是一个简单的Android应用程序,用于演示TextView、EditText、Button、ImageButton、CheckBox、RadioButton、Spinner和ListView的使用方法,并实现了对Button、ImageButton、RadioButton、Spinner和ListView的鼠标监听事件。
activity_main.xml布局文件:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- TextView控件 -->
<TextView
android:id="@+id/textview"
android:text="这是一个TextView控件"
android:textSize="20sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- EditText控件 -->
<EditText
android:id="@+id/edittext"
android:hint="请输入内容"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- Button控件 -->
<Button
android:id="@+id/button"
android:text="普通按钮"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- ImageButton控件 -->
<ImageButton
android:id="@+id/imagebutton"
android:src="@drawable/ic_launcher"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- CheckBox控件 -->
<CheckBox
android:id="@+id/checkbox"
android:text="复选框"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- RadioButton控件 -->
<RadioGroup
android:id="@+id/radiogroup"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/radiobutton1"
android:text="单选按钮1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:id="@+id/radiobutton2"
android:text="单选按钮2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RadioGroup>
<!-- Spinner控件 -->
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/fruit_array"
android:prompt="@string/choose_fruit"/>
<!-- ListView控件 -->
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
```
MainActivity.java代码文件:
```java
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private TextView textView;
private EditText editText;
private Button button;
private ImageButton imageButton;
private CheckBox checkBox;
private RadioButton radioButton1;
private RadioButton radioButton2;
private Spinner spinner;
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取控件对象
textView = findViewById(R.id.textview);
editText = findViewById(R.id.edittext);
button = findViewById(R.id.button);
imageButton = findViewById(R.id.imagebutton);
checkBox = findViewById(R.id.checkbox);
radioButton1 = findViewById(R.id.radiobutton1);
radioButton2 = findViewById(R.id.radiobutton2);
spinner = findViewById(R.id.spinner);
listView = findViewById(R.id.listview);
// 给普通按钮添加点击事件监听器
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = editText.getText().toString();
textView.setText(text);
}
});
// 给图片按钮添加点击事件监听器
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "图片按钮被点击了", Toast.LENGTH_SHORT).show();
}
});
// 给单选按钮添加点击事件监听器
radioButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "单选按钮1被选中了", Toast.LENGTH_SHORT).show();
}
});
radioButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "单选按钮2被选中了", Toast.LENGTH_SHORT).show();
}
});
// 给下拉框添加选择事件监听器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String fruit = parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, "你选择了" + fruit, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
// 设置ListView的数据适配器
List<String> data = new ArrayList<>();
data.add("苹果");
data.add("香蕉");
data.add("橙子");
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
listView.setAdapter(adapter);
// 给ListView添加点击事件监听器
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String fruit = parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, "你点击了" + fruit, Toast.LENGTH_SHORT).show();
}
});
}
}
```
其中,需要在res/values目录下创建一个arrays.xml文件,定义下拉框中的数据项:
```xml
<resources>
<string name="app_name">MyApp</string>
<string name="choose_fruit">请选择一种水果</string>
<string-array name="fruit_array">
<item>苹果</item>
<item>香蕉</item>
<item>橙子</item>
<item>草莓</item>
<item>葡萄</item>
</string-array>
</resources>
```
运行该应用程序,即可看到界面上显示了各种控件,并且可以通过监听事件来实现相应的交互效果。
阅读全文