`
119568242
  • 浏览: 426997 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

[android]关于开发无触摸屏(智能电视)的android selector无法实现点击效果的问题

 
阅读更多

今天开发 基于android的智能电视时

一个button用了seletor来控制效果

发现经常使用的效果在遥控器下 无法实现聚焦状态下的点击效果

 

经常使用的方法

 

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/img_baike_f" android:state_focused="true"/>
    <item android:drawable="@drawable/img_baike_p" android:state_pressed="true"/>
    <item android:drawable="@drawable/img_baike_defult"/>

</selector>
 

 

上面这个方法是在触摸情况下 没问题的

但是在遥控的情况下 就出问题了 无法实现聚焦状态下的点击效果 现象如下

 

可以聚焦,但点击时无点击效果。

 

研究了一下 原因如下:

遥控器 在能点击控件时必然在聚焦状态,在聚焦状态下就被全部归纳成设置的那个聚焦对应的图片了。(触摸屏的点击不聚焦)那么此时在聚焦状态下点击,展示效果依旧是聚焦态。

那么为了防止聚焦态对,按下态的覆盖,就不能直接单独设置聚焦=true了,所以方法如下

 

 

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/img_baike_f" android:state_focused="true" android:state_pressed="false"/>
    <item android:drawable="@drawable/img_baike_p" android:state_focused="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/img_baike_defult"/>

</selector>

 对聚焦态分成 按下和未按下两种情况,这样聚焦和按下的效果都能实现了。

分享到:
评论

相关推荐

    TextView的点击效果

    在Android开发中,TextView是...总结,实现TextView的点击效果主要通过设置背景、使用选择器、监听点击事件等方式,同时要考虑无障碍功能和用户体验。通过这些方法,我们可以为用户创造出更加友好、直观的交互界面。

    Android实现以圆心散开的半圆型导航菜单_android源码.zip

    在Android开发中,创建独特且吸引用户的界面设计是至关重要的,而"Android实现以圆心散开的半圆型导航菜单"就是一个旨在提供创新交互体验的项目。这个源码库帮助开发者构建一种动态的、从圆心向外散开的半圆形导航...

    Android快速索引:实现微信通讯录效果

    在Android应用开发中,创建一个类似微信通讯录的快速索引功能可以显著提升用户体验,让用户能够迅速找到所需联系人。这个功能通常会在一个ListView或RecyclerView中实现,通过一个可滑动的侧边栏来显示字母索引,...

    Android开发之多级下拉列表菜单实现(仿美团,淘宝等ExpandTabView

    标题中的"Android开发之多级下拉列表菜单实现(仿美团,淘宝等ExpandTabView"指的是在Android应用中模仿这些知名电商平台的下拉菜单效果,实现一种可扩展的Tab视图。描述中提到的"下单时候选择数量时候有美美的动画...

    android自定义popupwindow仿微信右上角弹出菜单效果

    背景通常会设置为一个选择器(`selector`),以实现点击时的高亮效果。在这里,布局的背景是一个图片资源,可以自定义为其他颜色或形状。 2. **自定义PopupWindow类**:通常我们会创建一个继承自`PopupWindow`的类...

    安卓实现手指按压效果

    在Android开发中,为用户提供直观且友好的交互体验至关重要,其中一种常见的交互方式就是点击反馈。本教程将详细讲解如何通过`FrameLayout`和控制控件背景颜色的变化来实现手指按压效果,使得用户在触摸屏幕时能明显...

    Android开发技巧总汇(3)

    以上是关于Android开发技巧的一些总结,涵盖了ListView背景设置、文件系统分析、利用市场赚钱、进度指示器、ScrollView实例、TextView动态滚动、titleBar高级实现以及数据保存方法等多个方面,希望对开发者有所帮助...

    android气泡式对话列表

    在Android开发中,创建一个类似Handcent SMS或Chomp SMS的气泡对话列表是一种常见的需求,这同样也是iPhone上常见的气泡聊天模式。这个模式以其直观、用户友好的设计,深受用户喜爱。本文将深入探讨如何实现这样的...

    android Material揭露动画

    在Android开发中,Material Design是一种广泛采用的设计语言,它提供了丰富的视觉效果和交互模式,提升了用户体验。本篇文章将深入探讨“android Material揭露动画”,重点在于如何改变水波纹颜色以及实现按钮的水波...

    mobile-selector-master.zip

    开发者可以通过查看源代码,学习如何利用这些技术实现响应式的触摸友好界面,以及如何处理触摸事件和动画效果,以提高用户体验。 为了便于理解和使用,"mobile-selector-master"可能还包含了详细的文档或者示例代码...

    Android 动画Interpolator和自定义涟漪效果和百分比布局

    在Android 5.0(Lollipop)及以上版本,Material Design引入了涟漪触摸反馈效果,即RippleEffect。我们可以使用`android:background="?android:attr/selectableItemBackgroundBorderless"`属性来快速实现无边框的...

    Android 仿Mac的Dock.zip

    在Android平台上实现Mac风格的Dock栏是一个挑战性的任务,因为它涉及到UI设计、触摸交互以及自定义视图的绘制。这个项目“Android 仿Mac的Dock.zip”提供了源代码,可以帮助开发者学习如何在Android应用程序中创建...

    android仿苹果ListView的实现

    可以使用`Selector`和`StateListDrawable`来实现这一效果,或者直接在XML布局文件中设置触摸状态下的样式。 7. **性能优化**: 由于ListView需要处理大量的视图复用,所以性能优化至关重要。确保在`getView()`中正确...

    color_selector:适用于Android的实用颜色选择器插件

    color_selector插件简化了Android应用中颜色选择功能的实现,使开发者可以更专注于应用的核心功能。通过合理利用这一工具,开发者可以创建出更加个性化和互动性强的应用,提高用户满意度。同时,插件的可定制性也让...

    android自定义view自定义buttonDemo

    本Demo主要展示了如何通过自定义View和自定义Button来实现特定的视觉效果和交互功能,比如Button在被点击时变换背景。下面我们将深入探讨这个话题。 首先,自定义View在Android开发中扮演着关键角色,它允许开发者...

    安卓Android源码——SelecterDrawableSample.rar

    在Android开发中,`Selector Drawable`是一种非常常用的图形元素,它可以根据不同的状态(如按下、选中、默认等)展示不同的图形效果。`SelecterDrawableSample`是一个典型的示例项目,用于演示如何创建和使用`...

    Android 天天动听 半透明Menu效果.rar

    在Android开发中,实现独特的用户界面效果是提升应用吸引力的关键之一。"天天动听"作为一个知名的音乐播放应用,其半透明Menu效果就是一种创新的交互设计,为用户提供了一种美观且直观的操作体验。本资源提供了实现...

    Android下实现win8风格的imageButton

    "Android下实现win8风格的imageButton"这一主题旨在教你如何在Android应用中创建具有Windows 8特色的弹性回弹效果的ImageButton。这种效果使得按钮在被触摸时能够产生视觉上的动态反馈,提升用户体验。 首先,要...

    Android selector状态选择器的使用详解

    在Android开发中,提供了一种强大的机制,名为Selector,它允许开发者根据控件的不同状态来改变其显示效果,从而提升用户体验。Selector主要用于定义按钮、菜单项等交互元素在不同状态(如按下、选中、获取焦点等)...

Global site tag (gtag.js) - Google Analytics