daimajia / daimajia/AndroidImageSlider

Load slideshow items on runtime causes slideshow have a bad visual behavior

Open
#60 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
5.6k
Forks
1.6k
PR merge metrics
No merged PRs in 30d

Description

Thanks for this great library.
I am loading item url and descriptions from server and on runtime add them as text sliders. and this is my code in asyncTask:

```
public class InitializeSliderAsync extends AsyncTask> {
private SliderLayout slider;
private List mItems;

public void setItems(List items) {
mItems = items;
}

@Override
protected List doInBackground(Object... params) {
this.slider = (SliderLayout) params[0];
List slides = new ArrayList();
TextSliderView textSliderView;
for (FeaturedItem item : mItems) {
textSliderView = new TextSliderView(getActivity());
// initialize a SliderLayout
textSliderView.image(getString(R.string.server_address_http) + item.getImage())
.description(item.getLink())
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView baseSliderView) {
// some method
}
}
);
slides.add(textSliderView);
}
return slides;
}

@Override
protected void onPostExecute(List slides) {
setSliderLoading(true);
mSlider.removeAllSliders();
for (TextSliderView slide : slides) {
mSlider.addSlider(slide);
}

mSlider.setPresetTransformer(SliderLayout.Transformer.Default);
mSlider.setCustomIndicator(mPagerIndicator);
mSlider.setDuration(4000);

}
}
```

I load slider in a fragment:

```
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_browse, container, false);
this.mSlider = (SliderLayout) rootView.findViewById(R.id.slider);
}

// Otto event for loading items from server.
@Subscribe
public void onItemsLoaded(FeaturedItemsLoadedEvent event) {
mItems.clear();
mItems.addAll(event.getAllFeaturedItems());
initializeSlider();
}

private void initializeSlider() {
setSliderLoading(true);
InitializeSliderAsync initializeSliderAsync = new InitializeSliderAsync();
initializeSliderAsync.setFeaturedItem(mItems);
initializeSliderAsync.execute(mSlider);
}
```

and this is my layout file:

```

```

and I have two problems:
1. Refreshing this list causes slider to have a bad visual when inserting new items in it.(you can try adding any items during runtime and see what i mean.) and this is not what user expects to see.
1. when Autocycle is on, I get a lag in entire application UI when switching to new style and slide animation is not smooth.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.