下面列出了怎么用android.widget.AdapterViewAnimator的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
mQuizView = (AdapterViewAnimator) view.findViewById(R.id.quiz_view);
decideOnViewToDisplay();
setQuizViewAnimations();
final AvatarView avatar = (AvatarView) view.findViewById(R.id.avatar);
setAvatarDrawable(avatar);
initProgressToolbar(view);
super.onViewCreated(view, savedInstanceState);
}
@Override
public void makeDataRenderedWithinAdapterView(
AdapterView<? extends Adapter> adapterView, AdaptedData data) {
checkArgument(data.opaqueToken instanceof Integer, "Not my data: %s", data);
int position = ((Integer) data.opaqueToken).intValue();
boolean moved = false;
// set selection should always work, we can give a little better experience if per subtype
// though.
if (Build.VERSION.SDK_INT > 7) {
if (adapterView instanceof AbsListView) {
if (Build.VERSION.SDK_INT > 10) {
((AbsListView) adapterView)
.smoothScrollToPositionFromTop(position, adapterView.getPaddingTop(), 0);
} else {
((AbsListView) adapterView).smoothScrollToPosition(position);
}
moved = true;
}
if (Build.VERSION.SDK_INT > 10) {
if (adapterView instanceof AdapterViewAnimator) {
if (adapterView instanceof AdapterViewFlipper) {
((AdapterViewFlipper) adapterView).stopFlipping();
}
((AdapterViewAnimator) adapterView).setDisplayedChild(position);
moved = true;
}
}
}
if (!moved) {
adapterView.setSelection(position);
}
}
public static BaseDSL.ViewClassResult adapterViewAnimator() {
return BaseDSL.v(AdapterViewAnimator.class);
}
public static Void adapterViewAnimator(Anvil.Renderable r) {
return BaseDSL.v(AdapterViewAnimator.class, r);
}
public static BaseDSL.ViewClassResult adapterViewAnimator() {
return BaseDSL.v(AdapterViewAnimator.class);
}