Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/news-android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid-Development <david-dev@live.de>2014-08-31 16:55:13 +0400
committerDavid-Development <david-dev@live.de>2014-08-31 16:55:13 +0400
commit4bde4f5b7fbd9672ffcedb76daf82c5b0be384ac (patch)
treefd6dec3bed9d0708629410c867ee7ab52b292536 /News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/view/PodcastSlidingUpPanelLayout.java
parent451ffb2625d1553222ee8e40cec10f394b8dbf3a (diff)
Improve podcast functionality
Diffstat (limited to 'News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/view/PodcastSlidingUpPanelLayout.java')
-rw-r--r--News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/view/PodcastSlidingUpPanelLayout.java64
1 files changed, 62 insertions, 2 deletions
diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/view/PodcastSlidingUpPanelLayout.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/view/PodcastSlidingUpPanelLayout.java
index 650869c4..54ac33ee 100644
--- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/view/PodcastSlidingUpPanelLayout.java
+++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/view/PodcastSlidingUpPanelLayout.java
@@ -4,13 +4,15 @@ import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
import com.sothree.slidinguppanel.SlidingUpPanelLayout;
/**
* Created by David on 21.06.2014.
*/
-public class PodcastSlidingUpPanelLayout extends SlidingUpPanelLayout{
+public class PodcastSlidingUpPanelLayout extends SlidingUpPanelLayout {
public PodcastSlidingUpPanelLayout(Context context) {
super(context);
}
@@ -26,7 +28,6 @@ public class PodcastSlidingUpPanelLayout extends SlidingUpPanelLayout{
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
-
//return isDragViewHit((int)ev.getX(), (int)ev.getY());
}
@@ -61,4 +62,63 @@ public class PodcastSlidingUpPanelLayout extends SlidingUpPanelLayout{
screenY >= viewLocation[1] && screenY < viewLocation[1] + v.getHeight();
}
+
+
+
+
+
+
+
+ public static void expand(final View v) {
+ v.measure(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
+ final int targtetHeight = v.getMeasuredHeight();
+
+ v.getLayoutParams().height = 0;
+ v.setVisibility(View.VISIBLE);
+ Animation a = new Animation()
+ {
+ @Override
+ protected void applyTransformation(float interpolatedTime, Transformation t) {
+ v.getLayoutParams().height = interpolatedTime == 1
+ ? LayoutParams.WRAP_CONTENT
+ : (int)(targtetHeight * interpolatedTime);
+ v.requestLayout();
+ }
+
+ @Override
+ public boolean willChangeBounds() {
+ return true;
+ }
+ };
+
+ // 1dp/ms
+ a.setDuration((int)(targtetHeight / v.getContext().getResources().getDisplayMetrics().density));
+ v.startAnimation(a);
+ }
+
+ public static void collapse(final View v) {
+ final int initialHeight = v.getMeasuredHeight();
+
+ Animation a = new Animation()
+ {
+ @Override
+ protected void applyTransformation(float interpolatedTime, Transformation t) {
+ if(interpolatedTime == 1){
+ v.setVisibility(View.GONE);
+ }else{
+ v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime);
+ v.requestLayout();
+ }
+ }
+
+ @Override
+ public boolean willChangeBounds() {
+ return true;
+ }
+ };
+
+ // 1dp/ms
+ a.setDuration((int)(initialHeight / v.getContext().getResources().getDisplayMetrics().density));
+ v.startAnimation(a);
+ }
}