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

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系统管用)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值