gpt4 book ai didi

android - 闪烁的背景

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:08:37 28 4
gpt4 key购买 nike

我有一个 LinearLayout,带有一些 ButtonsTextViews。我希望我的背景以定时的间隔闪烁,比如从红色到白色再到红色等等。现在,我正在尝试这段代码,但它给了我一个空指针异常。

LinearLayout ll = (LinearLayout) findViewById(R.layout.activity_main);
Animation anim = new AlphaAnimation(0.0f, 1.0f);
anim.setDuration(50);
anim.setStartOffset(20);
anim.setRepeatMode(Animation.REVERSE);
anim.setRepeatCount(Animation.INFINITE);
ll.startAnimation(anim); // shows null pointer exception at this line

请帮我看看哪里错了?

最佳答案

您在此处指定了错误的 View id findViewById(R.layout.activity_main)。它应该是这样的:

findViewById(R.id.your_view_id);

此外,确保在 super.onCreate 之后立即调用 setContentView(R.layout.activity_main)

编辑:

下面的代码允许您将背景颜色更改为您想要的任何颜色。看起来像 AnimationDrawable.start() doesn't work if called from Activity.onCreate , 所以我们必须在这里使用 Handler.postDelayed

final LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
final AnimationDrawable drawable = new AnimationDrawable();
final Handler handler = new Handler();

drawable.addFrame(new ColorDrawable(Color.RED), 400);
drawable.addFrame(new ColorDrawable(Color.GREEN), 400);
drawable.setOneShot(false);

layout.setBackgroundDrawable(drawable);
handler.postDelayed(new Runnable() {
@Override
public void run() {
drawable.start();
}
}, 100);

关于android - 闪烁的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15331361/

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