Android:AnimationDrawable压缩我的图像
我有一种奇怪的行为,我找不到解决办法。。。 这只发生在我的模拟器API级别10中,在我的智能手机(Android 4.1)上运行良好 我编写了一个动态动画来显示滚动骰子,其中随机选择10帧作为动画帧,持续时间为50毫秒 当我按下按钮时,动画运行,但压缩到零高度。。。。。(您仍然可以从动画骰子中看到一些颜色),布局也会变得混乱。 但这并没有发生在我的手机上 以下是java代码的一部分:Android:AnimationDrawable压缩我的图像,android,imageview,animationdrawable,Android,Imageview,Animationdrawable,我有一种奇怪的行为,我找不到解决办法。。。 这只发生在我的模拟器API级别10中,在我的智能手机(Android 4.1)上运行良好 我编写了一个动态动画来显示滚动骰子,其中随机选择10帧作为动画帧,持续时间为50毫秒 当我按下按钮时,动画运行,但压缩到零高度。。。。。(您仍然可以从动画骰子中看到一些颜色),布局也会变得混乱。 但这并没有发生在我的手机上 以下是java代码的一部分: public void RollDice(View view) { int id=-1;
public void RollDice(View view) {
int id=-1;
AnimationDrawable diceAnimation = new AnimationDrawable();
//create 10 random frames from dice1.jpg to dice6.jpg into diceAnimation
for(int j=0;j<10;j++){
id=getResources().getIdentifier("dice"+String.valueOf(rng.nextInt(6)+1), "drawable", getPackageName());
diceAnimation.addFrame(getResources().getDrawable(id), 50);
}
//assigning and starting animation
diceAnimation.setOneShot(true);
dice.setImageDrawable(diceAnimation);
diceAnimation.start();
}
public void RollDice(视图){
int id=-1;
AnimationDrawable diceAnimation=新的AnimationDrawable();
//在dice1.jpg到dice6.jpg之间创建10个随机帧到diceAnimation中
因为(intj=0;j可能对您的问题有答案,请谨慎尝试,因为我自己也是初学者
ViewGroup.MarginLayoutParams mParams = new ViewGroup.MarginLayoutParams(view.getLayoutParams());
ImageView view = (ImageView)findViewById(R.id.image_dice);
layoutParams = new RelativeLayout.LayoutParams(mParams);
layoutParams.width=120;
layoutParams.height=120;
view.setLayoutParams(layoutParams);
将其应用于您的图像将动态调整.xml,至少当我从web上抓取许多大小不同的图像时,它对我有效。我不知道您的问题是否得到解决。
但我想补充这个问题的答案
您可以尝试以下方法:
首先,将图像视图布局宽度从匹配父对象设置为换行内容
第二,使用以下代码,使骰子完全消失:
frameAnimation.setVisibility(消失);有什么帮助吗?:(
ViewGroup.MarginLayoutParams mParams = new ViewGroup.MarginLayoutParams(view.getLayoutParams());
ImageView view = (ImageView)findViewById(R.id.image_dice);
layoutParams = new RelativeLayout.LayoutParams(mParams);
layoutParams.width=120;
layoutParams.height=120;
view.setLayoutParams(layoutParams);