1、控件及布局 创建一个应用程序(可以采用默认的程序名和包名),在activity_main布局文件中用相对布局,放置一个ImageView控件显示一个前景图片(可以是任意图片),宽和高都是30dp。在其右面用TextView控件显示“宠物名:”,字体大小为20dp。在TextView控件右边用EditText控件输入宠物的名称。 (注:在MainActivity.java文件中添加如下语句: import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import android.widget.TextView;) 2、控件监听事件编程 在上面的程序中添加一个Button控件,显示“填写完成”,点击后显示“您填报了一只宠物”。 3、对话框编程 在上面的程序中再添加一个Button控件,显示“饮食喜好选择:”,点击按钮弹出多选对话框,包含“肉”、“植物”和“其它”三个选项,任意选择其中的一项到三项,点击确定回到之前的界面,用toast控件显示所选择的饮食喜好项。 4、Activity编程 改写上面在程序,点击“填写完成”按钮则创建另一个Activity(取名为Activity2),在新建的Activity界面中显示“已选择饮食喜好”。
时间: 2024-03-08 10:49:27 浏览: 58
Android控件及布局的使用
好的,以下是代码实现:
1、控件及布局
activity_main.xml文件代码如下:
```xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<ImageView
android:id="@+id/pet_image"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@drawable/pet_image"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/pet_name_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="宠物名:"
android:textSize="20sp"
android:layout_toRightOf="@id/pet_image"
android:layout_centerVertical="true"/>
<EditText
android:id="@+id/pet_name_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入宠物的名称"
android:layout_toRightOf="@id/pet_name_label"
android:layout_centerVertical="true"/>
</RelativeLayout>
```
2、控件监听事件编程
在MainActivity.java文件中添加代码如下:
```java
public class MainActivity extends AppCompatActivity {
private Button mSubmitButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSubmitButton = findViewById(R.id.submit_button);
mSubmitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "您填报了一只宠物", Toast.LENGTH_SHORT).show();
}
});
}
}
```
3、对话框编程
在activity_main.xml文件中添加一个Button控件,代码如下:
```xml
<Button
android:id="@+id/diet_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="饮食喜好选择:"
android:layout_below="@id/pet_name_input"
android:layout_marginTop="16dp"
android:layout_centerHorizontal="true"/>
```
在MainActivity.java文件中添加代码如下:
```java
public class MainActivity extends AppCompatActivity {
private Button mSubmitButton;
private Button mDietButton;
private boolean[] mSelected = new boolean[3];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSubmitButton = findViewById(R.id.submit_button);
mSubmitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "您填报了一只宠物", Toast.LENGTH_SHORT).show();
}
});
mDietButton = findViewById(R.id.diet_button);
mDietButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("饮食喜好选择:");
builder.setMultiChoiceItems(new String[]{"肉", "植物", "其它"}, mSelected, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
mSelected[i] = b;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String result = "您选择了:";
if (mSelected[0]) {
result += "肉 ";
}
if (mSelected[1]) {
result += "植物 ";
}
if (mSelected[2]) {
result += "其它 ";
}
Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", null);
builder.create().show();
}
});
}
}
```
4、Activity编程
在MainActivity.java文件中添加代码如下:
```java
public class MainActivity extends AppCompatActivity {
private Button mSubmitButton;
private Button mDietButton;
private boolean[] mSelected = new boolean[3];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSubmitButton = findViewById(R.id.submit_button);
mSubmitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Activity2.class);
startActivity(intent);
}
});
mDietButton = findViewById(R.id.diet_button);
mDietButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("饮食喜好选择:");
builder.setMultiChoiceItems(new String[]{"肉", "植物", "其它"}, mSelected, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
mSelected[i] = b;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String result = "您选择了:";
if (mSelected[0]) {
result += "肉 ";
}
if (mSelected[1]) {
result += "植物 ";
}
if (mSelected[2]) {
result += "其它 ";
}
Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", null);
builder.create().show();
}
});
}
}
```
然后新建一个Activity,取名为Activity2,代码如下:
```java
public class Activity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
TextView textView = findViewById(R.id.diet_label);
String result = getIntent().getStringExtra("result");
textView.setText("已选择饮食喜好:" + result);
}
}
```
在res文件夹下新建一个layout文件夹,在其中新建一个名为activity2.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"
android:padding="16dp">
<TextView
android:id="@+id/diet_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#000000"/>
</LinearLayout>
```
在MainActivity.java文件中的mSubmitButton的点击事件中添加代码如下:
```java
mSubmitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String result = "";
if (mSelected[0]) {
result += "肉 ";
}
if (mSelected[1]) {
result += "植物 ";
}
if (mSelected[2]) {
result += "其它 ";
}
Intent intent = new Intent(MainActivity.this, Activity2.class);
intent.putExtra("result", result);
startActivity(intent);
}
});
```
这样,当点击“填写完成”按钮后,会跳转到Activity2,并在其中显示所选择的饮食喜好项。
阅读全文