gpt4 book ai didi

android - 如何将启动画面添加到我的 Android 电视应用程序?

转载 作者:太空狗 更新时间:2023-10-29 13:56:27 26 4
gpt4 key购买 nike

有谁知道如何向 Android TV 应用程序添加启动画面?让我感到困难的是,主要 Activity 应该有 Theme.Leanback 才能在 google play 中被接受,并且要有启动画面,你需要你自己的风格/主题。那么该怎么做呢?

最佳答案

您可以自定义 Leanback 的 OnboardingFragment稍微将其显示为启动画面。 OnboardingFragment允许您添加入职步骤,但如果您不需要它们,您可以设置 setLogoResourceId里面onCreateView .

请注意,如果您将页数保持为零,它会崩溃,因此请将页数保持为 1 且启动持续时间大于 LOGO_SPLASH_PAUSE_DURATION_MS = 1333否则将显示带有“开始”按钮的页面。

我们的想法是最初使用只有启动画面的入职 fragment ,然后随着应用程序的增长添加入职步骤。

入职 fragment

public class OnboardingFragment extends android.support.v17.leanback.app.OnboardingFragment {
private static final long SPLASH_DURATION_MS = 2000;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.onCreateView(inflater, container, savedInstanceState);
if (view != null) {
view.setBackgroundColor(Color.RED);
}
setLogoResourceId(R.drawable.logo);
Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
onFinishFragment();
}
};
handler.postDelayed(runnable, SPLASH_DURATION_MS);
return view;
}

@Override
protected void onFinishFragment() {
super.onFinishFragment();
// Our onboarding is done
// Let's go back to the MainActivity
getActivity().finish();
}

@Override
protected int getPageCount() {
return 1;
}

@Override
protected String getPageTitle(int pageIndex) {
return null;
}

@Override
protected String getPageDescription(int pageIndex) {
return null;
}

@Nullable
@Override
protected View onCreateBackgroundView(LayoutInflater inflater, ViewGroup container) {
return null;
}

@Nullable
@Override
protected View onCreateContentView(LayoutInflater inflater, ViewGroup container) {
return null;
}
}

入职 Activity

/*
* OnboardingActivity for OnboardingFragment
*/
public class OnboardingActivity extends Activity {

/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.onboarding);
}
}

onboarding.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/onboarding_fragment"
android:name="com.example.android.tvleanback.ui.OnboardingFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />

声明OnboardingActivity里面AndroidManifest

<activity android:name=".ui.OnboardingActivity"
android:enabled="true"
android:exported="true"
android:theme="@style/Theme.Leanback.Onboarding" />

开始OnboardingActivity来自 MainActivity's onCreate

关于android - 如何将启动画面添加到我的 Android 电视应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39301584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com