gpt4 book ai didi

android - 如何在 Android 中创建如图所示的弹出窗口?

转载 作者:行者123 更新时间:2023-11-30 02:44:08 26 4
gpt4 key购买 nike

Android dialog showing a calendar

我想在我的 Android 应用程序中创建一个弹出窗口,如上面链接中的图片所示。我正在构建一个测验应用程序,我想在其中浏览一组问题。如何获得如图所示的弹出窗口?

最佳答案

您可以使用 AlertDialog 创建它,执行如下操作:

首先,创建一个布局,您可以在其中放置您想要在 AlertDialog 上显示的内容。在这种情况下,我将显示前 5 个数字的行(例如,此文件 layout/example.xml)

layout/example.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">

<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/tv1"
android:layout_gravity="center_horizontal"
android:textSize="30dp" />
</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:id="@+id/tv2"
android:layout_gravity="center_horizontal"
android:textSize="30dp" />
</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:id="@+id/tv3"
android:layout_gravity="center_horizontal"
android:textSize="30dp" />
</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:id="@+id/tv4"
android:layout_gravity="center_horizontal"
android:textSize="30dp" />
</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:id="@+id/tv5"
android:textSize="30dp"
android:layout_gravity="center_horizontal" />
</LinearLayout>

</LinearLayout>

然后用 AlertDialog 调用它,就像这样:

在您的 Activity 中

    LayoutInflater factory = LayoutInflater.from(this);

final View myCustomView = factory.inflate(R.layout.example, null);

final TextView tv1 = (TextView) myCustomView.findViewById(R.id.tv1);
final TextView tv2 = (TextView) myCustomView.findViewById(R.id.tv2);
final TextView tv3 = (TextView) myCustomView.findViewById(R.id.tv3);
final TextView tv4 = (TextView) myCustomView.findViewById(R.id.tv4);
final TextView tv5 = (TextView) myCustomView.findViewById(R.id.tv5);

/* Set the listeners */
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* Do stuff */
}
});

tv2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* Do stuff */
}
});

tv3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* Do stuff */
}
});

tv4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* Do stuff */
}
});
tv5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* Do stuff */
}
});


final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Goto").setView(textEntryView); /*Remember to use @string */
alert.show();

关于android - 如何在 Android 中创建如图所示的弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25342556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com