gpt4 book ai didi

java - 在 Android 中如何居中每秒变化的文本?

转载 作者:行者123 更新时间:2023-12-01 15:41:22 25 4
gpt4 key购买 nike

我有一些 Android 代码可以很好地使一段文本倒计时...

final TextView mTextField = new TextView(this);

mTextField.setTextColor(Color.RED);
mTextField.setTextSize(25);
mTextField.setTypeface(tf);
final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {

mTextField.setText("Days : " + getTimes()[0] + " Hours : "
+ getTimes()[1] + " Minutes : " + getTimes()[2]
+ " Seconds : " + getTimes()[3]);

handler.postDelayed(this, 1000);

}
};

handler.postDelayed(r, 1000);
setContentView(mTextField);

我遇到的问题是,无论如何我都无法格式化此文本,我希望它位于屏幕的正中心,但由于文本实际上是 Java 而不是 XML,我将如何进行嵌入这在relativeLayout中,这样我就可以控制文本打印到屏幕的位置?

谢谢

最佳答案

您可以定义一个 FrameLayout 的父级并设置中心重力,然后添加该 TextView:

FrameLayout frame = new FrameLayout(this);

FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,FrameLayout.LayoutParams.FILL_PARENT,Gravity.CENTRAL)
frame.setLayoutParams(params);


final TextView mTextField = new TextView(this);

mTextField.setTextColor(Color.RED);
mTextField.setTextSize(25);
mTextField.setTypeface(tf);
final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
mTextField.setText("Days : " + getTimes()[0] + " Hours : "
+ getTimes()[1] + " Minutes : " + getTimes()[2]
+ " Seconds : " + getTimes()[3]);

handler.postDelayed(this, 1000);

}
};

handler.postDelayed(r, 1000);

frame.addView(mTextField);
setContentView(frame);

更新 1:修复了 FrameLayout.LayoutParams。

关于java - 在 Android 中如何居中每秒变化的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999573/

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