gpt4 book ai didi

android - 正确格式化文本以提醒对话框

转载 作者:行者123 更新时间:2023-11-29 21:01:08 25 4
gpt4 key购买 nike

我有一个代码可以将秒数转换为小时、分钟、秒:

int day = (int)TimeUnit.SECONDS.toDays((long) val3);        
long hours = TimeUnit.SECONDS.toHours((long) val3) - (day *24);
long minute = TimeUnit.SECONDS.toMinutes((long) val3) - (TimeUnit.SECONDS.toHours((long) val3)* 60);
long second = TimeUnit.SECONDS.toSeconds((long) val3) - (TimeUnit.SECONDS.toMinutes((long) val3) *60);

我还有写结果的代码:

alertDialog.setMessage("Day\t\t" + day + "\nHour\t\t" + hours + "\nMinute\t" + minute + "\nSeconds\t" + second);

我需要使用\t 设置正确的格式,以将日期、小时、分钟与变量分开。问题是我不知道我有多少天/小时/分钟。那么,以编程方式使用\t 的最佳方式是什么?

enter image description here

最佳答案

enter image description here

要实现与此类似的效果,请创建自定义 Dialog 并为其使用自定义布局。修改内部 TextView 的值或任何您想用来显示数据的值。在我的演示中,您可以执行如下简单的操作:

Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog);
((TextView)dialog.findViewById(R.id.days)).setText(days);
((TextView)dialog.findViewById(R.id.hours)).setText(hours);
((TextView)dialog.findViewById(R.id.minutes)).setText(minutes);
((TextView)dialog.findViewById(R.id.seconds)).setText(seconds);
//To show, just call dialog.show();

对应于 R.layout.dialog 的布局如下,但请记住,您可以修改它以满足您的确切需求,更改颜色大小、布局和任何您想要的。我试图让它尽可能简洁,但我们都知道 xml 布局非常庞大,即使对于简单的布局也是如此。

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

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

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

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Days"
android:id="@+id/daysLabel"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hours"
android:id="@+id/hoursLabel" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Minutes"
android:id="@+id/minutesLabel"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Seconds"
android:id="@+id/secondsLabel"/>
</LinearLayout>

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

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:id="@+id/days" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="42"
android:id="@+id/hours"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12"
android:id="@+id/minutes"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="59"
android:id="@+id/seconds"/>
</LinearLayout>

</LinearLayout>

总而言之,您创建了一个将显示为对话框的 xml 布局文件,而不是默认文件。这使您可以不受限制地决定在何处显示内容。

关于android - 正确格式化文本以提醒对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26077058/

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