当前各大Tv apps的design都是依据google自带的leanback进行开发,与手机端Google Material Design都是不同的设计模式
leanback需要android5.0以上的支持哦,如果你的系统是4.4,那就只能自己从头开发啦,smart TV的预制apps,很多都要符合4.4或4.0的运行标准,我做的TV启动器和多媒体都也要兼容到4.4的版本
看到MainActivity只有
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
真正的实现是layout里的fragment
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_browse_fragment"
android:name="com.example.myapplication.MainFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:deviceIds="tv"
tools:ignore="MergeRootFrame" />
转到核心文件MainFragment.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
Log.i(TAG, "onCreate");
super.onActivityCreated(savedInstanceState);
prepareBackgroundManager(); //获取窗口对象和参数
setupUIElements(); //设置head 状态栏设置
loadRows(); //加载每一个TV 栏目的设置与显示
setupEventListeners(); //遥控回调
}
loadRows采用adapter方式,最后加进GridView下进行显示