diff options
author | Craig Stout <cstout@google.com> | 2014-07-29 16:05:04 -0700 |
---|---|---|
committer | Craig Stout <cstout@google.com> | 2014-08-08 11:28:03 -0700 |
commit | d67f91cc954ae963a226e555acca7f5b3d593d32 (patch) | |
tree | 9716a5119e9b8415df586679946b7a583c582f50 /samples/SupportLeanbackDemos | |
parent | 6c2688459d7520191d4e529036b7f6cd5707e26c (diff) | |
download | android_development-d67f91cc954ae963a226e555acca7f5b3d593d32.tar.gz android_development-d67f91cc954ae963a226e555acca7f5b3d593d32.tar.bz2 android_development-d67f91cc954ae963a226e555acca7f5b3d593d32.zip |
More features.
Add background.
Add fading enable/disable.
Add track switching.
Change-Id: Ia3495a6ce98498c734cb225bec93403ac734c89c
Diffstat (limited to 'samples/SupportLeanbackDemos')
-rw-r--r-- | samples/SupportLeanbackDemos/res/drawable-xhdpi/bg.png (renamed from samples/SupportLeanbackDemos/res/drawable-xhdpi/grid_bg.png) | bin | 400386 -> 400386 bytes | |||
-rw-r--r-- | samples/SupportLeanbackDemos/res/layout/playback_controls.xml | 21 | ||||
-rw-r--r-- | samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java | 27 | ||||
-rw-r--r-- | samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java | 3 |
4 files changed, 40 insertions, 11 deletions
diff --git a/samples/SupportLeanbackDemos/res/drawable-xhdpi/grid_bg.png b/samples/SupportLeanbackDemos/res/drawable-xhdpi/bg.png Binary files differindex 476c698ec..476c698ec 100644 --- a/samples/SupportLeanbackDemos/res/drawable-xhdpi/grid_bg.png +++ b/samples/SupportLeanbackDemos/res/drawable-xhdpi/bg.png diff --git a/samples/SupportLeanbackDemos/res/layout/playback_controls.xml b/samples/SupportLeanbackDemos/res/layout/playback_controls.xml index 357184cb4..0c9f43cbb 100644 --- a/samples/SupportLeanbackDemos/res/layout/playback_controls.xml +++ b/samples/SupportLeanbackDemos/res/layout/playback_controls.xml @@ -15,9 +15,20 @@ limitations under the License. --> -<fragment xmlns:android="http://schemas.android.com/apk/res/android" - android:name="com.example.android.leanback.PlaybackOverlayFragment" - android:id="@+id/playback_controls_fragment" +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" -/> + android:layout_height="match_parent" > + + <ImageView + android:id="@+id/media_content" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:src="@drawable/bg" /> + + <fragment + android:id="@+id/playback_controls_fragment" + android:name="com.example.android.leanback.PlaybackOverlayFragment" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + +</FrameLayout>
\ No newline at end of file diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java index 6c157c41b..74ab02cbb 100644 --- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java +++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java @@ -15,6 +15,7 @@ package com.example.android.leanback; import android.content.Context; import android.content.res.Resources; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.support.v17.leanback.widget.Action; @@ -28,6 +29,7 @@ import android.support.v17.leanback.widget.PlaybackControlsRow.ThumbsDownAction; import android.support.v17.leanback.widget.PlaybackControlsRow.ShuffleAction; import android.support.v17.leanback.widget.PlaybackControlsRowPresenter; import android.support.v17.leanback.widget.HeaderItem; +import android.support.v17.leanback.widget.VerticalGridView; import android.support.v17.leanback.widget.ListRow; import android.support.v17.leanback.widget.ListRowPresenter; import android.support.v17.leanback.widget.OnActionClickedListener; @@ -43,6 +45,7 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl private static final int PRIMARY_CONTROLS = 7; private static final boolean SHOW_IMAGE = PRIMARY_CONTROLS <= 5; private static final int TOTAL_TIME_MS = 15 * 1000; + private static final int BACKGROUND_TYPE = PlaybackOverlayFragment.BG_LIGHT; private static final int NUM_ROWS = 3; private ArrayObjectAdapter mRowsAdapter; @@ -54,6 +57,8 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl private ThumbsDownAction mThumbsDownAction; private ShuffleAction mShuffleAction; private PlaybackControlsRow mPlaybackControlsRow; + private Drawable mDetailsDrawable; + private Drawable mOtherDrawable; private Handler mHandler; private Runnable mRunnable; @@ -64,6 +69,9 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl mHandler = new Handler(); + setBackgroundType(BACKGROUND_TYPE); + setFadingEnabled(false); + setupRows(); } @@ -100,8 +108,10 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl mPlaybackControlsRow.setCurrentTime(0); } startProgressAutomation(); + setFadingEnabled(true); } else { stopProgressAutomation(); + setFadingEnabled(false); } } if (action instanceof PlaybackControlsRow.MultiAction) { @@ -134,8 +144,9 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl mPlaybackControlsRow = new PlaybackControlsRow(); } if (SHOW_IMAGE) { - mPlaybackControlsRow.setImageDrawable(context.getResources().getDrawable( - R.drawable.details_img)); + mDetailsDrawable = context.getResources().getDrawable(R.drawable.details_img); + mOtherDrawable = context.getResources().getDrawable(R.drawable.img16x9); + mPlaybackControlsRow.setImageDrawable(mDetailsDrawable); } mPlaybackControlsRow.setPrimaryActionsAdapter(mPrimaryActionsAdapter); mPlaybackControlsRow.setSecondaryActionsAdapter(mSecondaryActionsAdapter); @@ -193,10 +204,16 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl @Override public void run() { int currentTime = mPlaybackControlsRow.getCurrentTime() + updateFreq; - mPlaybackControlsRow.setCurrentTime(currentTime); - if (totalTime <= 0 || totalTime > currentTime) { - mHandler.postDelayed(this, updateFreq); + if (totalTime > 0 && totalTime <= currentTime) { + currentTime = 0; + mPlaybackControlsRow.setCurrentTime(0); + mPlaybackControlsRow.setImageDrawable( + mPlaybackControlsRow.getImageDrawable() == mDetailsDrawable ? + mOtherDrawable : mDetailsDrawable); + mRowsAdapter.notifyArrayItemRangeChanged(0, 1); } + mPlaybackControlsRow.setCurrentTime(currentTime); + mHandler.postDelayed(this, updateFreq); } }; mHandler.postDelayed(mRunnable, updateFreq); diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java index c5262b99d..5107be5f5 100644 --- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java +++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java @@ -24,6 +24,7 @@ public class VerticalGridActivity extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.vertical_grid); - getWindow().setBackgroundDrawableResource(R.drawable.grid_bg); + // TODO: use BackgroundManager here + getWindow().setBackgroundDrawableResource(R.drawable.bg); } } |