gpt4 book ai didi

android - 加载带有动画的文本

转载 作者:行者123 更新时间:2023-11-29 14:15:19 25 4
gpt4 key购买 nike

我想显示缓冲文本,如 Buffering..

而且我需要这些点不是静态的,即每 2 秒改变点的数量,这样它就会变成“一个点、两个点、三个点、一个点等等”。我想知道最好的方法是什么。这些点应该在 ImageView 中吗?我应该有三个图像,每个图像都有特定数量的点吗?或者是否有不同的动画方式?

我很久以前就使用处理程序有类似的事情。但在那种情况下,我知道结束时间。

下面也是我之前的代码:

/**
* Use to show Loading... text while splash screen is loading. Here after each 350 milliseconds, i am adding
* a single dot(.) using thread and showing in the text view. And after reaching 3 dots, procedure is iterating itself again.
* This code will run till 3500 milliseconds.
*/
for (int i = 350; i <= SPLASHTIME; i = i + 350) {
final int j = i;
handler.postDelayed(new Runnable() {
public void run() {
if (j / 350 == 1 || j / 350 == 4 || j / 350 == 7
|| j / 350 == 10) {
tvLoadingdots.setText(".");
} else if (j / 350 == 2 || j / 350 == 5 || j / 350 == 8) {
tvLoadingdots.setText("..");
} else if (j / 350 == 3 || j / 350 == 6 || j / 350 == 9) {
tvLoadingdots.setText("...");
}
}
}, i);
}

谁能告诉我最好的方法。

提前致谢。

最佳答案

我用了一个文本切换器和一个可运行的来解决这个问题

private void setupTextSwitcher() {
mLoadingChatBotTextSwitcher = (TextSwitcher)findViewById(R.id.chat_bot_loading_text_switcher);
mLoadingChatBotTextSwitcher.setInAnimation(this, android.R.anim.fade_in);
mLoadingChatBotTextSwitcher.setOutAnimation(this, android.R.anim.fade_out);
mLoadingChatBotTextSwitcher.addView(getTextSwitcherTextView());
mLoadingChatBotTextSwitcher.addView(getTextSwitcherTextView());
}

private TextView getTextSwitcherTextView() {
TextView textView = new TextView(this);
textView.setTextColor(getResources().getColor(R.color.birthday_white, null));
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 25);
return textView;
}

private void kickOffLoadingTextAnimation() {
if(mTextSwitchingHandler == null) {
mTextSwitchingHandler = new Handler(Looper.getMainLooper());
mTextSwitchingRunnable = new Runnable() {
int loadingIndex = 0;
@Override
public void run() {
switch(loadingIndex % 5) {
case 0:
changeLoadingMessage("Loading. ");
break;
case 1:
changeLoadingMessage("Loading.. ");
break;
case 2:
changeLoadingMessage("Loading... ");
break;
case 3:
changeLoadingMessage("Loading.... ");
break;
case 4:
changeLoadingMessage("Loading.....");
break;
}
loadingIndex++;
mTextSwitchingHandler.postDelayed(this, 500);
}
};
mTextSwitchingHandler.post(mTextSwitchingRunnable);
}
}

关于android - 加载带有动画的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19338989/

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