diff --git a/samples/SupportLeanbackDemos/res/layout/rows.xml b/samples/SupportLeanbackDemos/res/layout/rows.xml
index d77f7cacc..664e41b81 100644
--- a/samples/SupportLeanbackDemos/res/layout/rows.xml
+++ b/samples/SupportLeanbackDemos/res/layout/rows.xml
@@ -15,22 +15,12 @@
limitations under the License.
-->
-
-
-
+
+
+
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java
index ab19e5422..98f218841 100644
--- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java
+++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java
@@ -35,6 +35,7 @@ import android.support.v17.leanback.widget.Row;
import android.support.v17.leanback.widget.RowPresenter;
import android.support.v17.leanback.widget.SparseArrayObjectAdapter;
import android.util.Log;
+import android.view.View;
import android.widget.Toast;
public class DetailsFragment extends android.support.v17.leanback.app.DetailsFragment {
@@ -66,6 +67,16 @@ public class DetailsFragment extends android.support.v17.leanback.app.DetailsFra
Log.i(TAG, "onCreate");
super.onCreate(savedInstanceState);
+ setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
+ setTitle("Leanback Sample App");
+ setOnSearchClickedListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(getActivity(), SearchActivity.class);
+ startActivity(intent);
+ }
+ });
+
mActionPlay = new Action(ACTION_PLAY, "Play");
mActionRent = new Action(ACTION_RENT, "Rent", "$3.99",
getResources().getDrawable(R.drawable.ic_action_a));
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsActivity.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsActivity.java
index 133e99506..e5b1ea130 100644
--- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsActivity.java
+++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsActivity.java
@@ -14,27 +14,45 @@
package com.example.android.leanback;
import android.app.Activity;
+import android.content.Intent;
import android.os.Bundle;
import android.support.v17.leanback.R;
-import android.view.LayoutInflater;
+import android.support.v17.leanback.widget.BrowseFrameLayout;
+import android.support.v17.leanback.widget.TitleHelper;
+import android.support.v17.leanback.widget.TitleView;
import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-public class RowsActivity extends Activity implements RowsFragment.OnRowsFirstLineSelectedListener
+public class RowsActivity extends Activity
{
- TextView mTitleView;
+ private RowsFragment mRowsFragment;
+ private TitleHelper mTitleHelper;
+
/** Called when the activity is first created. */
@Override
- public void onCreate(Bundle savedInstanceState)
- {
+ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rows);
- mTitleView = (TextView) findViewById(R.id.rows_title);
+
+ mRowsFragment = (RowsFragment) getFragmentManager().findFragmentById(
+ R.id.main_rows_fragment);
+
+ setupTitleFragment();
}
- @Override
- public void onSelectedFirstRow(boolean firstRow) {
- mTitleView.setVisibility(firstRow ? View.VISIBLE : View.INVISIBLE);
+ private void setupTitleFragment() {
+ TitleView titleView = (TitleView) findViewById(R.id.title);
+ titleView.setTitle("RowsFragment");
+ titleView.setOnSearchClickedListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(RowsActivity.this, SearchActivity.class);
+ startActivity(intent);
+ }
+ });
+
+ BrowseFrameLayout frameLayout = (BrowseFrameLayout) findViewById(R.id.rows_frame);
+ mTitleHelper = new TitleHelper(frameLayout, titleView);
+ frameLayout.setOnFocusSearchListener(mTitleHelper.getOnFocusSearchListener());
+ mRowsFragment.setTitleHelper(mTitleHelper);
}
}
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsFragment.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsFragment.java
index bf0840269..29b5e304e 100644
--- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsFragment.java
+++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/RowsFragment.java
@@ -16,6 +16,8 @@ package com.example.android.leanback;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
+import android.support.v17.leanback.widget.TitleHelper;
+import android.support.v17.leanback.widget.TitleView;
import android.support.v4.app.ActivityOptionsCompat;
import android.support.v17.leanback.R;
import android.support.v17.leanback.widget.ArrayObjectAdapter;
@@ -35,10 +37,6 @@ import android.view.ViewGroup;
public class RowsFragment extends android.support.v17.leanback.app.RowsFragment {
- public static interface OnRowsFirstLineSelectedListener {
- void onSelectedFirstRow(boolean firstRow);
- }
-
private static final String TAG = "leanback.RowsFragment";
private static final int NUM_ROWS = 10;
@@ -46,7 +44,11 @@ public class RowsFragment extends android.support.v17.leanback.app.RowsFragment
private static final boolean USE_FIXED_ROW_HEIGHT = false;
private ArrayObjectAdapter mRowsAdapter;
- private OnRowsFirstLineSelectedListener mCallback;
+ private TitleHelper mTitleHelper;
+
+ public void setTitleHelper(TitleHelper titleHelper) {
+ mTitleHelper = titleHelper;
+ }
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -60,28 +62,14 @@ public class RowsFragment extends android.support.v17.leanback.app.RowsFragment
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
Log.i(TAG, "onItemSelected: " + item + " row " + row);
- if (mCallback == null) {
- return;
- }
- if (mRowsAdapter != null && mRowsAdapter.size() > 0 && row != null &&
- row != mRowsAdapter.get(0)) {
- mCallback.onSelectedFirstRow(false);
- } else {
- mCallback.onSelectedFirstRow(true);
+ if (mTitleHelper != null) {
+ mTitleHelper.showTitle(getAdapter() == null || getAdapter().size() == 0 ||
+ getAdapter().get(0) == row);
}
}
});
}
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- // This makes sure that the container activity has implemented
- if (activity instanceof OnRowsFirstLineSelectedListener) {
- mCallback = (OnRowsFirstLineSelectedListener) activity;
- }
- }
-
private void setupRows() {
ListRowPresenter lrp = new ListRowPresenter();