BearND has uploaded a new change for review.
https://gerrit.wikimedia.org/r/171875
Change subject: Left/right animation inside page info dialog
......................................................................
Left/right animation inside page info dialog
Now have two different ListViews inside a ViewFlipper
and animate the transitions between them.
Change-Id: Id9dba17d6f44c8a77ab1aac5ac370a02828972a3
---
M wikipedia/res/layout/dialog_page_info.xml
M wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
2 files changed, 48 insertions(+), 20 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/75/171875/1
diff --git a/wikipedia/res/layout/dialog_page_info.xml
b/wikipedia/res/layout/dialog_page_info.xml
index 8a03eb4..715ee66 100644
--- a/wikipedia/res/layout/dialog_page_info.xml
+++ b/wikipedia/res/layout/dialog_page_info.xml
@@ -69,15 +69,32 @@
android:layout_height="1dp"
android:background="?android:listDivider" />
- <ListView
- android:id="@+id/page_info_list"
+ <ViewFlipper
+ android:id="@+id/page_info_flipper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="start"
- android:paddingBottom="0dp"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
- android:paddingTop="0dp"
- />
+ >
+ <ListView
+ android:id="@+id/disambig_list"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="start"
+ android:paddingBottom="0dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:paddingTop="0dp"
+ />
+ <ListView
+ android:id="@+id/page_issues_list"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="start"
+ android:paddingBottom="0dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:paddingTop="0dp"
+ />
+
+ </ViewFlipper>
</LinearLayout>
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
b/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
index 8cef693..8006e31 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
@@ -7,26 +7,23 @@
import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.TextView;
+import android.widget.ViewFlipper;
/**
* A dialog to host page issues and disambig information.
*/
class PageInfoDialog extends BottomDialog {
- private final Activity activity;
- private final PageInfo info;
- private final LinkMovementMethodExt movementMethod;
- private ListView list;
- private TextView disambigHeading;
- private TextView issuesHeading;
+ private final ViewFlipper flipper;
+ private final TextView disambigHeading;
+ private final TextView issuesHeading;
PageInfoDialog(Activity activity, PageInfo pageInfo, int height,
LinkMovementMethodExt movementMethod) {
super(activity, R.layout.dialog_page_info);
- this.activity = activity;
- info = pageInfo;
- this.movementMethod = movementMethod;
View parentView = getDialogLayout();
- list = (ListView) parentView.findViewById(R.id.page_info_list);
+ flipper = (ViewFlipper)
parentView.findViewById(R.id.page_info_flipper);
+ ListView disambigList = (ListView)
parentView.findViewById(R.id.disambig_list);
+ ListView issuesList = (ListView)
parentView.findViewById(R.id.page_issues_list);
disambigHeading = (TextView)
parentView.findViewById(R.id.page_info_similar_titles_heading);
issuesHeading = (TextView)
parentView.findViewById(R.id.page_info_page_issues_heading);
View separatorHeading =
parentView.findViewById(R.id.page_info_heading_separator);
@@ -41,6 +38,10 @@
// parentView.setMinimumHeight(height);
parentView.setLayoutParams(new
FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, height));
+
+ disambigList.setAdapter(new DisambigListAdapter(activity,
pageInfo.getDisambigs(), movementMethod));
+ issuesList.setAdapter(new IssuesListAdapter(activity,
pageInfo.getIssues()));
+
if (pageInfo.getDisambigs().length > 0) {
disambigHeading.setOnClickListener(new View.OnClickListener() {
@Override
@@ -66,13 +67,23 @@
}
void showDisambig() {
- list.setAdapter(new DisambigListAdapter(activity, info.getDisambigs(),
movementMethod));
+ if (flipper.getCurrentView() != flipper.getChildAt(0)) {
+ flipper.setInAnimation(getContext(), R.anim.slide_in_left);
+ flipper.setOutAnimation(getContext(), R.anim.slide_out_right);
+ flipper.showNext();
+ }
+
disambigHeading.setTypeface(null, Typeface.BOLD);
issuesHeading.setTypeface(null, Typeface.NORMAL);
}
void showIssues() {
- list.setAdapter(new IssuesListAdapter(activity, info.getIssues()));
+ if (flipper.getCurrentView() != flipper.getChildAt(1)) {
+ flipper.setInAnimation(getContext(), R.anim.slide_in_right);
+ flipper.setOutAnimation(getContext(), R.anim.slide_out_left);
+ flipper.showPrevious();
+ }
+
disambigHeading.setTypeface(null, Typeface.NORMAL);
issuesHeading.setTypeface(null, Typeface.BOLD);
}
--
To view, visit https://gerrit.wikimedia.org/r/171875
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id9dba17d6f44c8a77ab1aac5ac370a02828972a3
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits