我想知道是否可以将BrowseFragment与另一个Layer/Level of Rows一起使用.就像是
cat1 - row1 -> item1 -> subrow1
cat2 - row2 -> item1 -> subrow2
Run Code Online (Sandbox Code Playgroud)
等等.有什么我可以使用BrowseFragment和适配器来获得该层次结构或我应该自己实现它?
我怎么能自己实现呢?我会使用VerticalRowFragment生成另一个Activity但不完全相同.
任何提示或tipps是受欢迎的. 
我正在开发一个使用 Leanback 库的 Android TV 应用程序。有一个带有电子邮件、密码和登录按钮的登录表单。我想仅在电子邮件和密码有效时启用登录按钮。
这是我的代码:
mLoginButtonAction = new GuidedAction.Builder(this.getActivity())
.id(id)
.title(title)
.description(desc)
.build();
actions.add(action);
Run Code Online (Sandbox Code Playgroud)
我一开始禁用它:
mLoginButtonAction.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
然后在它有效时启用它:
mLoginButtonAction.setEnabled(valid);
Run Code Online (Sandbox Code Playgroud)
然后启用该按钮,我可以单击它。但是按钮的颜色仍然与禁用模式下的颜色相同。任何的想法?谢谢。
在 Android TV Leanback 示例中,MainFragment 具有导航标题和行。
有没有办法从 MainActity 判断用户当前是否位于行标题(左侧导航)或 MainFragment 的实际行上?
public class MainActivity extends LeanbackActivity {
@Override
public void onBackPressed() {
MainFragement mf;
if (mf.focusedOnFragmentHeaders) {
//Do Something
}
}
}
Run Code Online (Sandbox Code Playgroud)
我开始使用新的android.support.v17.leanback库,但在样式方面遇到了一些麻烦ImageCardView。
我正在将图像更改ImageCardView为不同的形状,因此我想删除ListRow例如使用卡片时自动生成的背景和阴影。如果我留下阴影,我的卡片看起来很奇怪,因为阴影和背景显示得就像卡片是正方形的。
我尝试为所有元素设置不同的背景,但它不起作用。如果我设置正常的背景颜色(绿色、蓝色等),图像或信息区域的背景将会改变,但如果我设置透明背景,则包裹整个卡片的另一个背景将可见。
有什么想法如何解决这个问题吗?
我有一个片段:
public class FilmFragment extends BrowseFragment implements LoaderManager.LoaderCallbacks<Object>
Run Code Online (Sandbox Code Playgroud)
在BrowseFragment中,添加包含项目的几行:
private void loadRubricsFilms(List<Rubric> mRubrics, List<Film> mFilms) {
int j = 0;
for (Rubric mRubric : mRubrics) {
ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(mCardPresenter);
for (Film mFilm : mFilms) {
if (mFilm.getRubric() == mRubric.getId()) {
listRowAdapter.add(mFilm);
}
}
HeaderItem header = new HeaderItem(j++, mRubric.getTitle());
mRowsAdapter.add(new ListRow(header, listRowAdapter));
}
setAdapter(mRowsAdapter);
}
Run Code Online (Sandbox Code Playgroud)
我安装了OnItemViewSelectedListener侦听器:
private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
@Override
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) …Run Code Online (Sandbox Code Playgroud) 是否可以在leanback展示应用的自定义标题视图中使用多个SearchOrb按钮或其他可聚焦按钮?问题是我只能集中一个按钮...
更新:
我所做的:
有自定义标题视图类,其中包含搜索球,标题文本视图,自定义球和模拟时钟。
问题是,当我尝试着重搜索Orb时,焦点就放在了自定义Orb上……仅此而已。仅聚焦自定义宝珠。
单击侦听器,设置主搜索球。我不知道问题出在哪里。如果需要,我可以按需发布其他代码。
感谢您的帮助!
titleview.xml:
<?xml version="1.0" encoding="utf-8"?>
<com.olegmart.smart.base.CustomTitleView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/browse_title_group"
android:padding="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
CustomTitleView.java:
package com.olegmart.smart.base;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v17.leanback.widget.SearchOrbView;
import android.support.v17.leanback.widget.TitleViewAdapter;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.ImageView;
import com.olegmart.smart.R;
public class CustomTitleView extends RelativeLayout implements TitleViewAdapter.Provider {
private final TextView mTitleView;
private final View mAnalogClockView;
private final View mGridOrbView;
private final View mSearchOrbView;
private final TitleViewAdapter mTitleViewAdapter = new TitleViewAdapter() {
@Override
public View getSearchAffordanceView() { …Run Code Online (Sandbox Code Playgroud) 我正在构建一个 Android TV 应用程序并想使用
LeanbackListPreferenceDialogFragment
Run Code Online (Sandbox Code Playgroud)
但是,工作室在我的导入字符串上显示“无法解析符号“首选项”:
import android.support.v17.preference.LeanbackListPreferenceDialogFragment;
Run Code Online (Sandbox Code Playgroud)
我在 build.gradle 中添加了 Leanback 库依赖项:
compile 'com.android.support:leanback-v17:25.0.0'
Run Code Online (Sandbox Code Playgroud)
API 参考链接:https : //developer.android.com/reference/android/support/v17/preference/LeanbackListPreferenceDialogFragment.html
任何提示和帮助表示赞赏。
尤金
在 Leanback 搜索片段中,当我们使用键盘提交搜索并且获得搜索结果时,当使用后退按钮提交搜索查询时,片段将关闭。我们可以看到,按下后退按钮时,结果获得焦点,并且键盘隐藏(如预期),但按下后退按钮时,屏幕正在关闭。
我相信这是 Leanback 框架中的一个错误,因为它在 Leanback 展示中重现。
我还发布了一个问题https://github.com/googlesamples/leanback-showcase/issues/58
有没有解决方法来禁用屏幕关闭?
我能够更改 Android Studio 模拟器上的默认启动器,但无法在物理 Android TV 上执行相同的操作。
我就是这样做的:
<category android:name="android.intent.category.HOME" />,告诉系统我的应用程序也是一个启动器。adb shell pm uninstall -k --user 0 com.google.android.leanbacklauncher和卸载 Leanback 启动器adb shell pm uninstall -k --user 0 com.google.android.tvlauncher。这是仅适用于 Android TV 的额外步骤。在我的模拟器上,它按预期工作,按 HOME 键,重复单击 BACK 键并重置设备返回到我的应用程序。
但在实体电视上,按 HOME 键就可以了。重复单击“返回”键并重置设备会进入空白屏幕。
我的问题是,是否有一种官方方法可以像 Android Mobile 一样更改 Android TV 上的默认启动器?
谢谢!