package com.hhzt.iptv.ui.customview; import android.content.Context;import android.content.res.TypedArray;import android.graphics.Rect;import android.os.Build;import android.support.v4.view.ViewCompat;import android.support.v7.widget.GridLayoutManage…
1.adapter的setHasStableIds设置成true 2.重写adapter的getItemId方法 @Override public long getItemId(int position) { return position; }3.mRecyclerView.setItemAnimator(null);…
主要处理的地方: 1.RecyclerView中Adapter的item个人可以无限轮询. 2.RecyclerView自动滑动 3.手指按下时滑动停止,手指抬起后继续自动滑动 public class AutoPollRecyclerView extends RecyclerView { ; AutoPollTask autoPollTask; private boolean running; //标示是否正在自动轮询 private boolean canRun;//标示是否可以自动轮询,可…
作者地址http://www.jianshu.com/u/63915ef020e2 针对Android Tv的自定义RecyclerView 作者 wenju_song 关注 2016.12.09 19:52* 字数 814 阅读 1368评论 17喜欢 22 前言:Android TV Launcher页在RecyclerView出来之前大家用GridView去实现.TV开发有五向键的监听,遥控器hover监听,点击事件等.用GridView去处理焦点是有一定挑战性的,往往会出现不可预料焦点错…
建立RecyclerViewActivity.java文件 1 public class RecyclerViewActivity extends AppCompatActivity { 2 private Button BtnLinear; 3 private Button BtnShuiping; 4 private Button BtnGrid; 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 sup…
package com.android.ryane.pulltoloaddata_recyclerview; import android.os.Handler;import android.os.Looper;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.supp…
首先是主布局fragment里面的xml文件 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/a…
类概述 用 于布局的容器,可以放置让用户使用滚动条查看的视图层次结构,允许视图结构比手机的屏幕大.HorizontalScrollView是一种 FrameLayout(框架布局),其子项被滚动查看时是整体移动的,并且子项本身可以是一个有复杂层次结构的布局管理器.一个常见的应用是子项在水平 方向中,用户可以滚动显示顶层水平排列的子项(items). HorizontalScrollView不可以和ListView同时用, 因为ListView有自己的滚动条设置.最重要的是,如果在需要显示很大的l…
功能要求: (1)比如每页显示2X2,总共2XN,每个item显示图片+文字(点击有链接). 如果单行水平滚动,可以用Horizontalscrollview实现. 如果是多行水平滚动,则结合Gridview(一般是垂直滚动的)和Horizontalscrollview实现. (2)水平滚动翻页,下面有显示当前页的icon. 1.      实现自定义的HorizontalScrollView(HorizontalScrollView.java): 因为要翻页时需要传当前页给调用者,所以flin…
android:layout_width 指定组件布局宽度 android:layout_height 指定组件布局高度 android:alpha 设置组件透明度 android:background 设置组件背景颜色 android:clickable  设置组件是否可以激发单击事件 android:contentDescription  设置组件的描述信息,在界面上不显示,可以用来存储一些信息 android:drawingCacheQuality  设置组件所使用的绘制缓存的质量 and…
转载:http://blog.csdn.net/wzlas111/article/details/39741091 Android TV上的焦点凸显特效相信大家都看到过,那么我们就来实现它吧,首先上张效果图. 先说一下实现原理,主要通过重写RelativeLayout实现item,之后在其中加入scalanimation动画效果.刚开始处理时,还是发现了一些问题,比如item放大后会被其他item遮挡,如何添加选中边框等等,以及动画的实现等等.下面放上实现细节. 首先是item的代码: <vie…
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <Horiz…
智能电视越来越普及了,华为说四月发布智能电视跳票了,一加也说今后要布局智能电视,在智能电视方向,小米已经算是先驱了.但是还有不少开发把智能电视简单的理解成手机屏幕的放大,其实这两者并不一样. 一.序 你慢慢会发现,身边所有的电视都变成了智能电视.这是很容易接受的事实,智能电视更便宜. 价格是不容忽视的敏感点,顾客会天然的选择物美价廉的智能电视.这看似不符合逻辑,为什么选择落后的技术,不允许联网的传统电视反而更贵呢? 厂商靠硬件的利润是固定的,当小米发布"年轻人的第一台电视"之后,通过搭…
在 Android 应用中,大部分情况下都会使用一个垂直滚动的 View 来显示内容(比如 ListView.RecyclerView 等).但是有时候你还希望垂直滚动的View 里面的内容可以水平滚动.如果直接在垂直滚动的 View 里面使用水平滚动的 View,则滚动操作并不是很流畅. 比如下图中的示例: 为什么会出现这个问题呢? 上图中的布局为一个 RecyclerView 使用的是垂直滚动的 LinearLayoutManager 布局管理器,而里面每个 Item 为另外一个 Recyc…
对TV端产品设计的分析太特么少了.翻遍网络,大多也是针对UI设计的分析,这篇从产品设计的角度,梳理下现有的TV端产品设计法则,顺道做点分析.(前方多图,高能预警) 目录: 1. TV端产品使用场景 2. TV端产品设计法则 3. TV端产品设计分析 4. 总结 1 TV端产品使用场景 电视使用环境 1)距离远:智能电视尺寸几乎均大于42寸,使用环境应该在2.7-3.5米之间.虽然屏幕尺寸大,但操作距离远,单屏信息量小. 2)灯光暗:用户在使用电视时,多灯光昏暗,有可能后仰躺在沙发里,有可能在一边…
前言:前面几篇总结一些TV上的小Sample,开源到GitHub:https://github.com/hejunlin2013/TVSample, 点击链接,可以持续关注.今天总结下TV上屏幕适配.: 看下Agenda: 一.屏幕适配的一些背景知识 二.TV屏幕适配怎么适配?有哪些规则? 三.多屏幕适配,android读取res/drawable优先级是什么? 四.屏幕分辨率及density .densityDpi代码 一.屏幕适配的一些背景知识 介绍几个在Android屏幕适配上非常重要的名…
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52835829 前言:上篇中,<Android TV开发总结(二)构建一个TV Metro界面(仿泰捷视频TV版)>对应的源码解析见<TV Metro界面(仿泰捷视频TV版)源码解析>一文,链接:http://blog.csdn.net/hejjunlin/article/details/52822499,github…
RecyclerView应该是ListView的增强版. RecyclerView与ListView的区别(我认为的): RecyclerView的性能比ListView高 RecyclerView支持水平滚动 RecyclerView可以动态增加数据量 需要注意的地方: 在AS里面使用RecyclerView需要将:implementation 'androidx.recyclerview:recyclerview:1.1.0'引入到我们的库里(app/build.gradle) xml里面添…
RecyclerView最强大的功能在于秒变功能,只需要改动很少的代码就可以实现ListView,GridView及水平ListViw的切换功能 public class MainActivity extends ActionBarActivity { private RecyclerView mRecyclerView; private List mDatas; private TestAdapter mAdapter; @Override protected void onCreate(Bu…
Gallery:横着滚动的列表 mainActivity.java package com.sxt.day05_01; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.Adapt…
这次打算来梳理一下 Android Tv 中的按键点击事件 KeyEvent 的分发处理流程.一谈到点击事件机制,网上资料已经非常齐全了,像什么分发.拦截.处理三大流程啊:或者 dispatchTouchEvent.onInterceptTouchEvent.onTouchEvent 啊:再或者返回 true 表示消费,返回 false 不处理啊:还有说整个流程是个 U 型分发处理,什么总经理发布任务到员工处理反馈啊之类的.前辈们早已为我们梳理了一篇篇干货,也在尽可能的写得通俗.易懂. 但是今天…
请尊重分享成果,转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52966319 近年来,Android TV的迅速发展,传统的有线电视受到较大的冲击,在TV上用户同样也可以看到各个有线电视的直播频道,相对于手机,这种直播节目,体验效果更佳,尤其是一样赛事节目,大屏幕看得才够痛快,还可以邀几好友一起欣赏.今天将介绍构建一个TV app的直播节目实例,此实例上传到Github: https://github.com/hejunlin20…
前言:上篇是介绍构建TV app前要知道的一些事儿,开发Android TV和手机本质上没有太大的区别,屏大,焦点处理,按键处理,是有别于有手机和Pad的实质区别.今天来介绍TV中Metro UI风格,并结合实例说明. Android TV发展离不开Metro UI,先看最新的泰捷TV的会员区效果,属于典型的Metro风格,如下: 什么是Metro UI: Metro的设计意念来源于交通局巴士站站牌机场和地铁的指示牌给了微软设计团队灵感,设计团队说Metro是来源于美国华盛顿州金县都会交通局(K…
最新更新: 简单封装了一下代码,参考新文章:UICollectionView实现图片水平滚动 先简单看一下效果: 新博客:http://wossoneri.github.io 准备数据 首先先加入一些资源文件: 先建立一个xcassets文件,放入图片: 再建立一个plist文件,写入与图片对应的内容: 在ViewController中读取plist到词典中: @property (nonatomic, strong) NSArray *itemTitles; NSString *path =…
  (1)滚动事件分类 列表的滚动一般分为两种: 1.手指按下 -> 手指拖拽列表移动 -> 手指停止拖拽 -> 抬起手指 2.手指按下 -> 手指快速拖拽后抬起手指 -> 列表继续滚动 -> 停止滚动 上面的过程的状态变化如下: 1.静止 -> 被迫拖拽移动 -> 静止 2.静止 -> 被迫拖拽移动 -> 自己滚动 -> 静止 (2)监听RecyclerView的滚动 有两种方式可以监听滚动事件: 1.setOnScrollListene…
先看一下效果: 本文将讲解如何实现类似于Google+应用中,当列表滚动的时候,ToolBar(以及悬浮操作按钮)的显示与隐藏(向下滚动隐藏,向上滚动显示),这种效果在Material Design 清单中有提到: “在合适的地方,当列表向下滚动,app bar可以退出屏幕,以便为内容区域留下更多的空间:而当列表向上滚动回来的时候,app bar又重新显示出来”. 注:这里的向下滚动是指滚动到下面查看更多内容,相对应的手势操作其实是往上.同理向上滚动是指查看前面的内容,而手势其实是向下. 虽然此…
1.首先在build.gradle中添加依赖库 compile 'com.android.support:recyclerview-v7:24.2.1' 2.修改activity_main.xml <LinearLayout ...... <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="maych_parent" a…
前面一个说了怎么把这个包引用进来,这一节说怎么做一个简单的例子出来,我也是照着别人的例子写的,然后慢慢改就行了,做好的效果如下图 1.在我们的activity_main中把recyclerview填加进来. <android.support.v7.widget.RecyclerView android:id="@+id/recy_list" android:dividerHeight="1dp" android:layout_width="match…
HorizontalScrollView水平滚动控件 一.简介 用法ScrollView大致相同 二.方法 1)HorizontalScrollView水平滚动控件使用方法 1.在layout布局文件的最外层建立一个HorizontalScrollView控件 2.在HorizontalScrollView控件中加入一个LinearLayout控件,并且把它的orientation设置为horizontal 3.在LinearLayout控件中放入多个装有图片的ImageView控件 2)Hor…
列表的滚动一般分为两种: 手指按下 -> 手指拖拽列表移动 -> 手指停止拖拽 -> 抬起手指 手指按下 -> 手指快速拖拽后抬起手指 -> 列表继续滚动 -> 停止滚动 从上面可以看出,滚动状态分为: |--静止 |--滚动 |--被迫拖拽移动 |--自己滚动 上面的过程的状态变化如下: 静止 -> 被迫拖拽移动 -> 静止 静止 -> 被迫拖拽移动 -> 自己滚动 -> 静止 <!--more--> 监听RecyclerVi…