进度条不是动画

时间:2016-12-11 11:10:57

标签: java android animation android-animation mobile-application

我试图让进度条在3秒内淡出,但它不起作用。

from random import randint  # This imports the required modules for the program to work
character = input(str("martian,plutonian,human or dog\n>>"))  # This asks the player what character they would like to play
strength = (randint(3, 20))  # This sets the range for the strength variable
speed = (randint(3, 20))  # This sets the range for the speed variable
height = randint(120, 183)  # This sets the range for the height variable (the variables are 100x the amount that the task states)
#  The reason as to why the height value is 100x what it is meant to be is because the height is a decimal and the randint function only works with real numbers
height1 = height/100  # Because the values are 100x the required amount I divide them by 100
heart_rate = (randint(60, 110))  # This sets the range for the heart rate variable


if character: "martian"  # This makes the following only occur if the player inputs "martian"
strength += 3  #This adds 3 to the value of strength
speed +=2 #This adds 2 to the value of speed
if character: "plutonian"  #This makes the following only occur if the player inputs "plutonian"
heart_rate+=7 #This adds 7 to the value of heart rate
height1+=1 #This adds 1 to the value of height
if character: "human" #This makes the following only occur if the player inputs "human"
heart_rate+=3 #This adds 3 to the heart rate value
if character: "dog"
height-=3 #This adds 3


print("Your strength is", strength)  # This prints the strength of the character
print("Your speed is", speed)  # This prints the speed of the character
print("Your heart rate is", heart_rate)  # This prints the heart rate of the character
print("Your height is", height1)  # This prints the height of the character


file_txt=open('Character Statistics.txt', 'a',) #This creates and names the text file
file_txt.write(str("Character Statistics:\n")) #This makes a title within the text document
file_txt.write("Your strength is:") #This prints text into the text file
file_txt.write(str(strength)+"\n") #This adds the strength value to the txt file
file_txt.write("Your speed is:") #This prints text into the text file
file_txt.write(str(speed)+"\n") #This adds the speed value to the txt file
file_txt.write("Your heart rate is:")  #This prints text into the text file
file_txt.write(str(heart_rate)+"\n") #This adds the heart rate value to the txt file
file_txt.write("Your height is is:") #This prints text into the text file
file_txt.write(str(height1)+"\n") #This adds the height value to the txt file

布局(xml)

// Animate progress bar.
    progressBar1 = (ProgressBar) findViewById(R.id.mainImageView1);
    ObjectAnimator animato = ObjectAnimator.ofFloat(progressBar1, "alpha", 1.0f, 0.0f);
    animato.setInterpolator(new DecelerateInterpolator());
    animato.setDuration(3000);
    animato.start();

最后,我对“工作”的意思是进度条不会消失。

2 个答案:

答案 0 :(得分:1)

您正尝试使用以下行将ImageView转换为ProgressBar:

progressBar1 = (ProgressBar) findViewById(R.id.mainImageView1); 

R.id.mainImageView1已分配给xml中的ImageView。

在xml中为您的ProgressBar分配一个ID:

<ProgressBar
    ...
     android:id="@+id/progress_bar"
/>

然后

progressBar1 = (ProgressBar) findViewById(R.id.progress_bar);

答案 1 :(得分:0)

使用AlphaAnimation代替ObjectAnimator&gt;&gt;&gt;

AlphaAnimation fade = new AlphaAnimation(1.0f, 0.0f);  // from 1 to 0 transparancy 
fade.setDuration(1000);
fade.setFillAfter(true)  //Keeps ProgressBar at 0 opacity after animation
myProgressBar.startAnimation(fadeOutAnimation);

希望它有效:)

顺便说一句,您还没有为进度条分配ID, 为进度条分配ID

然后声明一个名为myProgressBar的变量

然后使用进度条的相应ID初始化它。