Android ViewFlipper 仅对第一个 URL 图像进行动画处理
Android ViewFlipper animating only the first URL image
我有一个带有 ViewFlipper 的 android activity。
它从 url 中选取图像并显示在布局中。
它应该为所有图像设置动画。
但是,它只对第一个 url 图像进行动画处理并不断重复。
它不显示其他图像。
下面是代码:
public class DynamicViewFlipper 扩展 Activity {
/**
* List of Image URL that will populate the ViewFlipper
*/
private List<String> imageURLs = Arrays.asList(new String[] {
"http://example.com/image1.jpg",
"http://example.com/image2.jpg",
"http://example.com/image3.jpg",
"http://example.com/image4.jpg"});
private int index = 0;
private TextView mTextView;
private ViewFlipper mViewFlipper;
private Button mNextButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_flipper);
mTextView = (TextView) findViewById(R.id.title);
mViewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
ImageView image = new ImageView(getApplicationContext());
UrlImageViewHelper.setUrlDrawable(image, getNextImage(), R.drawable.loading);
mTextView.setText("Showing: " + index);
mViewFlipper.addView(image);
mViewFlipper.showNext();
mViewFlipper.setAutoStart(true);
mViewFlipper.setFlipInterval(2000);
mViewFlipper.startFlipping();
mViewFlipper.setInAnimation(AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left));
mViewFlipper.setOutAnimation(AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_out_right));
}
protected String getNextImage() {
if (index == imageURLs.size())
index = 0;
return imageURLs.get(index++);
}
}
你应该有这样的东西:
for(String url: imageURLs){
ImageView image = new ImageView(getApplicationContext());
UrlImageViewHelper.setUrlDrawable(image, url,R.drawable.loading);
mViewFlipper.addView(image);
}
mViewFlipper.setAutoStart(true);
mViewFlipper.setFlipInterval(2000);
mViewFlipper.startFlipping();
我有一个带有 ViewFlipper 的 android activity。 它从 url 中选取图像并显示在布局中。 它应该为所有图像设置动画。 但是,它只对第一个 url 图像进行动画处理并不断重复。 它不显示其他图像。 下面是代码:
public class DynamicViewFlipper 扩展 Activity {
/**
* List of Image URL that will populate the ViewFlipper
*/
private List<String> imageURLs = Arrays.asList(new String[] {
"http://example.com/image1.jpg",
"http://example.com/image2.jpg",
"http://example.com/image3.jpg",
"http://example.com/image4.jpg"});
private int index = 0;
private TextView mTextView;
private ViewFlipper mViewFlipper;
private Button mNextButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_flipper);
mTextView = (TextView) findViewById(R.id.title);
mViewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
ImageView image = new ImageView(getApplicationContext());
UrlImageViewHelper.setUrlDrawable(image, getNextImage(), R.drawable.loading);
mTextView.setText("Showing: " + index);
mViewFlipper.addView(image);
mViewFlipper.showNext();
mViewFlipper.setAutoStart(true);
mViewFlipper.setFlipInterval(2000);
mViewFlipper.startFlipping();
mViewFlipper.setInAnimation(AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left));
mViewFlipper.setOutAnimation(AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_out_right));
}
protected String getNextImage() {
if (index == imageURLs.size())
index = 0;
return imageURLs.get(index++);
}
}
你应该有这样的东西:
for(String url: imageURLs){
ImageView image = new ImageView(getApplicationContext());
UrlImageViewHelper.setUrlDrawable(image, url,R.drawable.loading);
mViewFlipper.addView(image);
}
mViewFlipper.setAutoStart(true);
mViewFlipper.setFlipInterval(2000);
mViewFlipper.startFlipping();