安卓Studio开发TV项目(包含app自启动功能)记录

  • Post author:
  • Post category:其他




1、使用Studio创建第一个TV项目

在这里插入图片描述

在这里插入图片描述

创建一个新的activity

在这里插入图片描述

记得打钩

在这里插入图片描述

添加这两个属性

    <uses-feature
        android:name="android.software.leanback"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />

在这里插入图片描述

创建完成之后呢,运行的话会报这错误

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

原因是Activty继承自android.support.v7.app.AppCompatActivty,而不是android.app.Activty。

1、在创建的activity时,如果不用继承AppCompatActivity的话,就直接继承Activity。

例:

public class PhotoPreviewActivity extends AppCompatActivity 改为 public class PhotoPreviewActivity extends Activity

2、如果必须要继承AppCompatActivity的话,我们看另一种办法:

根据提示来使用AppCompat的theme,即将AndroidManifest.xml文件中关于Activity的主题配置改成:

android:theme=”@style/Theme.AppCompat.Light.NoActionBar”

将继承AppCompatActivity的Activty主题修改或者添加上面主题可解决

例:

 <activity
            android:name=".MainActivity"
            android:theme="@style/Theme.AppCompat.Light.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


摘抄自

Android Studio 创建第一个TV项目



2、安卓TV App中遥控器选中效果

在安卓开发TV项目过程中,由于交互要是用到遥控器,所以就不得不面临高亮显示的问题,否则根本看不出遥控器的焦点在哪里,实现高亮效果的思路就是

OnFocusChangeListener


示例代码:

                      <Button
                        android:id="@+id/btn_ok"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:background="@drawable/ed_oneblueright"
                        android:gravity="center"
                        android:text="立即更新"
                        android:textColor="#FF073C68"
                        android:textSize="25sp" />

java代码:

 btn_ok.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if(hasFocus){//获取焦点后设置想要显示的背景
                    mIgnore.setBackgroundResource(R.drawable.button_choose);
                }else {//失去焦点后设置默认背景
                    mIgnore.setBackgroundResource(R.drawable.button_nochoose);
                }
            }
        });



3、app开机自启功能


关于安卓开机自启动的方案(最高测试9.0系统管用)



版权声明:本文为wz_1992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。