GithubHelp home page GithubHelp logo

frozenfreefall / android-tv-widget Goto Github PK

View Code? Open in Web Editor NEW
599.0 49.0 206.0 26.15 MB

Android tv,盒子,投影仪 控件

License: Apache License 2.0

Java 100.00%
android-tv leanback recyclerview

android-tv-widget's Introduction

git 上的项目暂时已经不更新.  关注这里:https://git.oschina.net/kumei/AndroidTVWidget

 欢迎加入TV开源社区,我们一起完善:https://gitee.com/kumei

收录了一些常用的TV库:https://gitee.com/kumei/Android_tv_libs

一些 tv开发经验小总结,https://gitee.com/kumei/AndroidTVWidget/wikis/Home

Android TV 开发框架

官方论坛:http://www.androidtvdev.com/

QQ群1:522186932 QQ群2:468357191

微信群:

输入图片说明

极米科技有限公司招聘各种技术岗位,后台,应用,系统,还有硬件等等. 
想投简历的小伙伴发给我,我直接内推,欢迎各位加入极米这个大家庭;
以下面的格式,发到我的邮箱([email protected])
姓名,手机,邮箱
推荐理由
简历
------------
ISSUES有详细的职位列表

运行DEMO

Leanback 框架(类似谷歌的Leanback,更简直,更方便): 输入图片说明

键盘框架:

输入图片说明 输入图片说明

菜单框架:

整体目录结构

输入图片说明

输入图片说明

*AndroidTvWidet 目录是TV开发框架的 库文件.

*demo 目录是 例子.

*doc 目录是存放文档的.

*Tool 目录 是 屏幕像素转换工具.

AndroidTVwidget库目录结构

框架目录结构

com.open.androidtvwidget.adapter : 标题栏的adapter基类.

com.open......bridge : MainUpView的依赖类,比如移动的动画都在这里实现的

com.open.....cache: 缓存

com.open....keyboard: 键盘

com.open....menu : 菜单

com.open.android...recycle : recyclerview 的支持(gridview)

com.open.android...utils:一些常用函数封装

com.open...android..view:一些TV改造的控件.(下面我们将接受这里面的控件使用方法)

API文档:

https://git.oschina.net/hailongqiu/AndroidTVWidget/attach_files

使用说明:

https://git.oschina.net/hailongqiu/AndroidTVWidget/wikis/AndroidTVWidget-use-manual

键盘使用说明:

https://git.oschina.net/hailongqiu/AndroidTVWidget/wikis/Android-TV-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E9%94%AE%E7%9B%98%E6%8E%A7%E4%BB%B6%28SkbContainer%29

项目导入说明:

https://git.oschina.net/hailongqiu/AndroidTVWidget/wikis/AndroidTVWidget-use-manual%28Android-Studio%29

https://git.oschina.net/hailongqiu/AndroidTVWidget/wikis/AndroidTVWidget-use-manual%28Eclipse%E5%AF%BC%E5%85%A5%29

欢迎进入 TV开发,希望大家不断的分享代码,一起进步,谢谢. (hailongqiu [email protected]

欢迎加入QQ群,一起学习,一起进步,这里有很多TV方面的高手噢。

输入图片说明

天天加班加点,欢迎支持(用于网站论坛维护)

天天加班加点,欢迎支持输入图片说明

##Tab 测试DEMO图片.

输入图片说明

输入图片说明

GridViewTV

输入图片说明

[ViewPager-DEMO]

输入图片说明

[键盘-DEMO]

输入图片说明

输入图片说明

后期加入

网络加载布局

感谢开源[参考代码]

XiaoMi android_tv_metro

BorderViewDemo

感谢支持

在这里插入图片描述

版本更新

v1.4.0

*添加recyclerview的支持

*修复gridviewTv 更新数据崩溃

*修改GridViewTV demo

*修复键盘DEMO 崩溃

*倒影控件添加间距接口

*整理移动动画的函数

android-tv-widget's People

Contributors

frozenfreefall avatar hailongqiuarm avatar pengjunkun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-tv-widget's Issues

详细的招聘列表

极米科技有限公司招聘各种技术岗位,后台,应用,系统,还有硬件等等. 
想投简历的小伙伴发给我,我直接内推,欢迎各位加入极米这个大家庭;
以下面的格式,发到我的邮箱([email protected])
姓名,手机,邮箱
推荐理由
简历
------------
评论区有详细的职位列表

error

AAPT err(Facade for 629048942): ERROR: 9-patch image C:\Users\super\Desktop\demo\demo\src\main\res\drawable-xhdpi\tab_highlight.9.png malformed.
AAPT err(Facade for 629048942): No marked region found along edge.
AAPT err(Facade for 629048942): Found along left edge.
AAPT err(Facade for 1884841107): ERROR: 9-patch image C:\Users\super\Desktop\demo\demo\src\main\res\drawable-xhdpi\tab_highlight_normal.9.png malformed.
AAPT err(Facade for 1884841107): No marked region found along edge.
AAPT err(Facade for 1884841107): Found along left edge.
Error:Execution failed for task ':demo:mergeDebugResources'.

Some file crunching failed, see logs for details

GridViewTVbug

向下移动如果当前列的下一行没有数据是出现此问题

FATAL EXCEPTION: main
Process: com.open.demo, PID: 22260
java.lang.NullPointerException: Attempt to read from field 'int android.view.View.mViewFlags' on a null object reference
at android.view.ViewGroup.canViewReceivePointerEvents(ViewGroup.java:2316)
at android.view.ViewGroup.dispatchHoverEvent(ViewGroup.java:1581)
at android.view.View.dispatchGenericMotionEvent(View.java:8552)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1919)
at android.view.ViewGroup.dispatchHoverEvent(ViewGroup.java:1640)
at android.view.View.dispatchGenericMotionEvent(View.java:8552)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1919)
at android.view.ViewGroup.dispatchHoverEvent(ViewGroup.java:1640)
at android.view.View.dispatchGenericMotionEvent(View.java:8552)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1919)
at android.view.ViewGroup.dispatchHoverEvent(ViewGroup.java:1640)
at android.view.View.dispatchGenericMotionEvent(View.java:8552)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1919)
at android.view.ViewGroup.dispatchHoverEvent(ViewGroup.java:1640)
at android.view.View.dispatchGenericMotionEvent(View.java:8552)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchGenericMotionEvent(PhoneWindow.java:2377)
at com.android.internal.policy.impl.PhoneWindow.superDispatchGenericMotionEvent(PhoneWindow.java:1729)
at android.app.Activity.dispatchGenericMotionEvent(Activity.java:2778)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchGenericMotionEvent(PhoneWindow.java:2344)
at android.view.View.dispatchPointerEvent(View.java:8668)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4123)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3989)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3680)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3737)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5807)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5781)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5752)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5897)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5868)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5920)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:548)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.ja

咨询一下,SmoothHorizontalScrollView 的原理

你好,想请教一下。
我看 SmoothHorizontalScrollView ,重写了方法 computeScrollDeltaToGetChildRectOnScreen ,基本就是添加了 fadingEdge ,这个意思,是不是可以理解为,因为 View 放大了,但是因为 这个方法返回的 rect ,并没有算这个放大的部分距离,因此需要自己添加 fadingEdge 上去。

如果是的话,那么这个适配就需要根据放大多少来做适配了吧。

fragment监听移动边框崩溃这么办?

使用 viewpaper fragment组合的时候 OnGlobalFocusChangeListener监听要加载 viewpaper上面 不能在fragment 里面加
这里大家感谢---济南 浪潮-孙维泉(411192399)

遇到边框有残影或者有问题这么办?

EffectNoDrawBridge effectNoDrawBridge = new EffectNoDrawBridge();
    effectNoDrawBridge.setTranDurAnimTime(200);
    mainUpView1.setEffectBridge(effectNoDrawBridge); // 4.3以下版本边框移动.
    mainUpView1.setUpRectResource(R.drawable.white_light_10); // 设置移动边框的图片.
    mainUpView1.setDrawUpRectPadding(new Rect(25, 25, 23, 23)); // 边框图片设置间距.

请使用这个 类 EffecNo... 来调整.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.