首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

来自自定义LinearLayout的子项不显示涟漪效果

自定义LinearLayout是指通过继承LinearLayout类来创建自定义的布局容器。涟漪效果是指在用户点击或触摸某个视图时,该视图周围会出现类似水波纹扩散的动画效果。

在Android中,为了实现涟漪效果,可以使用以下两种方式:

  1. 使用属性动画:通过在触摸事件中监听用户的点击位置,然后创建一个圆形的涟漪动画,并设置动画的起始位置和结束位置。可以使用属性动画库如ObjectAnimator或ValueAnimator来实现动画效果。
  2. 使用Material Design中的RippleDrawable:RippleDrawable是Android提供的一个用于实现涟漪效果的Drawable。可以通过在布局文件中使用RippleDrawable作为背景来实现涟漪效果。在触摸事件中,当用户点击或触摸到该视图时,RippleDrawable会自动显示涟漪效果。

对于来自自定义LinearLayout的子项不显示涟漪效果的问题,可能是由于以下原因导致:

  1. 子项的背景不是RippleDrawable:如果子项的背景不是RippleDrawable,那么就无法显示涟漪效果。可以尝试将子项的背景设置为RippleDrawable,以实现涟漪效果。
  2. 子项的点击事件被拦截或消费:如果子项的点击事件被拦截或消费了,那么就无法触发涟漪效果。可以检查代码,确保子项的点击事件没有被拦截或消费。
  3. 自定义LinearLayout的onInterceptTouchEvent方法未正确处理:如果自定义LinearLayout重写了onInterceptTouchEvent方法,并且未正确处理点击事件的传递,那么可能会导致子项无法触发涟漪效果。可以检查自定义LinearLayout的onInterceptTouchEvent方法,确保正确处理点击事件的传递。

总结起来,要解决来自自定义LinearLayout的子项不显示涟漪效果的问题,可以尝试以下步骤:

  1. 确保子项的背景是RippleDrawable。
  2. 检查子项的点击事件是否被拦截或消费。
  3. 检查自定义LinearLayout的onInterceptTouchEvent方法是否正确处理了点击事件的传递。

对于涟漪效果的具体实现和更多细节,可以参考腾讯云的相关文档和示例代码:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android自定义LinearLayout布局显示不完整解决方法

发现问题 原需求,在一个伸缩列表中,自定义LinearLayout继承LinearLayout动态添加布局。 ? 然而实现时候:一共遍历了30条数据,却只显示了一条 ?...只能谷歌,找度娘了 终于翻到这个Android – 自定义View不显示,非常感谢作者~ Android – 自定义View不显示 说明: 自定义了一个LinearLayout显示不出来 原因是必须有...public ManDaoH5View(Context context, AttributeSet attrs) { 这个方法是自定义LinearLayout初始化调用方法,LinearLayout...{ public ManDaoH5View(Context context, AttributeSet attrs) {//这个方法必须有,否则自定义LinearLayout不会显示...自定义LinearLayout也是Liearlayout呀,怎么能把它方向忘了呢? ?

2.7K10
  • WPF VisualBrush 只刷新显示视觉效果刷新布局范围

    WPF VisualBrush 可以帮助我们在一个控件中显示另一个控件外观。这是非常妙功能。...但是本文需要说其中一个 Bug —— 如果使用 VisualBrush 显示另一个控件外观,那么只会在其显示效果有改变时候刷新,而不会在目标布局改变时候刷新布局。...VisibleOr.Visibility = Visibility.Visible; } } } } 验证问题 我们知道,VisualBrush 在默认情况下会将 Visual 中全部内容拉伸到控件中显示...,于是可以预估出两个可能结果: 如果 Rectangle 可见(Visibility 为 Visible),那么 Border 中以 VisualBrush 显示内容将完全和下面重叠(因为大小相同,...如果 Rectangle 不可见(Visibility 为 Collapsed),那么 Border 中以 VisualBrush 显示内容将仅有文字且拉伸到整个 Border 范围。

    38050

    Android 中为RecyclerView控件添加分隔线

    可以看到,我们这里显示子项之中并没有分割线,那么怎么添加分割线呢?...(4dp)和颜色(红、绿、蓝渐变颜色效果),OK, 一个RecyclerView控件分隔线绘制就完成了,我么还需要对MainActivity.java进行小小修改才能显示出分割线效果:...这里为了显示出滑动效果,故意多加了点数据,这里是RecyclerView控件中子项排布方式为竖值分隔线效果,那么水平呢?让我们来改一下MainActivity.java: ?...因为显示原因,看起来子项滑动时候分割线好像断了一样,实际上并没有这个bug。ok,下面来试试网格布局: ?...在MainActivity中加了一个网格布局,并且设置排布方向和每一行显示子项数,之后调用了MyItemDecoration第二个适用于网格布局构造方法。

    2.1K10

    AndroidListView和RecyclerView基本用法

    * 自定义适配器类继承于 ArrayAdapter 类来实现 ListView 控件数据显示, * ListView 控件只有设置了适配器才能显示数据 */ public class ColorAdapter...> 这个布局文件就是加入了一个RecyclerView控件,注意我们在使用不是SDK中原本就存在控件时,要写入这个控件完整路径名(包括我们自定义控件),接下来新建一个Activity用于显示RecyclerView...* 因为RecyclerView只负责自己本身创建和回收,所以RecyclerView中子项创建、子项布局方式、 * 分割线、动画效果等等都需要我们自己完成,正是这种完全解耦机制成就了...成功了,我们可以左右滑动来显示不同子项。那么如果要显示网状布局呢?...ok,和我们预想一样 最后,这里只是RecyclerView控件基本用法,RecyclerView控件用法很多,我们可以自由在控件里面加入分割线,子项减少和增加动画效果等等,我们可以自由定制属于我们效果

    1.1K50

    Android开发常用知识点

    中加上android:screenOrientation属性,它有以下几个参数: unspecified–默认值,由系统来判断显示方向.判定策略是和设备相关,所以不同设备会有不同显示方向 landscape...–横屏显示(宽比高要长) portrait–竖屏显示(高比宽要长) user–用户当前首选方向 behind–和该Activity下面的那个Activity方向一致(在Activity堆栈中...android:lineSpacingExtra="0dp" android:lineSpacingMultiplier="1.3" 字间距 android:letterSpacing="0.1" 涟漪效果...--背景--> Button背景圆角+涟漪 涟漪效果色值#9ccc 本来设想是设置圆角...XML 再设置涟漪效果 但是实际发现效果涟漪效果并不是圆角 所以就变通了一下 背景只设置颜色 再在外层添加一个android.support.v7.widget.CardView login_button_bg_anim.xml

    2.6K10

    横向滑动视图HorizontalScrollView精炼详解

    大家好,又见面了,我是你们朋友全栈君。 一、前期基础知识储备 由于移动设备物理显示空间一般有限,不可能一次性把所有要显示内容都显示在屏幕上。...有可能这个子控件本身就是一个布局控件,可以包含非常多其他用来展示数据控件。这个布局控件一般使用是一个水平布局LinearLayout 。...,将每次item中text设置到界面中,进行显示,运行效果如图: 三、上代码,具体实现图片类横向布局 (1)主布局文件 <?...效果如下: 2)添加回弹效果 HorizontalScrollView添加回弹效果,有两种方案:①自定义HorizontalScrollView;②使用工具类; ①自定义HorizontalScrollView...,从0开始,注意,此实现方式不论子项是否可见,索引值都是不变,比如一共有7个子项,索引值是0~6,然后将前三个子项设为不可见,此时所有子项索引值仍然是0~6,而不会有所变化。

    3.6K20

    安卓开发_九宫格布局

    学习内容来自 android布局基础及范例:人人android九宫格布局 , 类似的九宫格 上面是图片,下面是文字 这里用是“GridView”表格布局,下面我来给大家讲一下: 首先,请大家理解一下“...这个子项就是我们 图片项和图片下方文字显示部分。...如果指定这个宽度的话,默认是每行(展示行,界面)仅仅只显示一个 “可重复子项”,而当指定了宽度时,本文指定为90dp,如果每行实际行尺寸大于90,他就会继续将下一个“可重复子项”,放置在本行。...于是就呈现一种 一行显示多个子项情况。numColumns属性,指定一个自动填充值,指示了自动填充行。 然后是一个布局,放重复显示小布局 1 <?.../提示 47 } 48 } 49 ); 50 } 51 } 效果图 : 上面是全部显示相同图片

    98430

    Android自定义横向滑动菜单实现

    本文讲述了Android自定义横向滑动菜单实现。分享给大家供大家参考,具体如下: 前言 开发安卓过程中,经常会用到标题栏样式,有时候传统方式不能满足开发者需要,这时候就需要自定义控件来实现。...(注意:本文提供思路,有关键代码,但是代码不全) 标题栏说明 自定义标题栏ColumnHorizontalScrollView继承HorizontalScrollView 这个安卓原生控件,HorizontalScrollView...是一种FrameLayout(框架布局),其子项被滚动查看时是整体移动,并且子项本身可以是一个有复杂层次结构布局管理器。...一个常见应用是子项在水平方向中,用户可以滚动显示顶层水平排列子项(items)。...= paramView2; rightImage = paramView3; ll_more = paramView4; rl_column = paramView5; } /** * 判断左右阴影显示隐藏效果

    1.8K10

    Android UI 中 ListView列表控件示例

    我们使用了 android.R.layout.simple_list_item_1作为 ListView 子项布局 id,这是一个 Android内置布局文件,里面只有一个 TextView,用于显示一段文本...ListView 示例 2 定制界面 现在让 ListView 可以显示更加丰富内容。 准备好一组图片,分别对应上面提供每一种猫,我们要让这些猫名称旁边都有一张图。...getName() { return name; } public int getImageId() { return imageId; } } 我们为 ListView 子项建一个自定义布局...在这个布局中,我们定义了一个 ImageView 用于显示图片,又定义了一个 TextView 用于显示名称。...inflate() 第三个参数表示添加父布局,因为这个 View 一旦有了父布局之后,就不能再添加到 ListView 中咯。

    1.6K20

    Material Design 实战 之第四弹 —— 卡片布局

    CardView(这里用于作为recycleview子项,用于显示水果) 1.1 实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体感觉...; 为RecycleView子项制定一个自定义布局(架构如下): <android.support.v7.widget.CardView...接下来需要为RecycleView子项制定一个自定义布局。在layout目录下新建fruit_item.xml: <?xml version="1.0" encoding="utf-8"?...CardView由于是一个FrameLayout,因此它没有什么方便定位方式,这里只好在CardView中再嵌套一个LinearLayout,然后在LinearLayout中放置具体内容。...内容的话就是 定义了ImageView用于显示水果图片, 定义了TextView用于显示水果名称,并让TextView在水平方向上居中显示

    2.1K10

    Android最常用控件ListView(详解)

    它以列表形式 展示具体数据内容,并且能够根据数据长度自适应屏幕显示。 二.ListView简单用法 代码部分 1.布局界面 activity_main.xml 代码: <?...三.定制 ListView 界面 只能显示一段文本listview太单调了,我们现在就来对listview界面进行定制,让其丰富内容。...原因在于,当我们想用一些其他展现方式,或者是本案例我们需要图文混排呈现方式,这就需要DIY了。 1.我们定义一个自定义适配器 FruitAdapter继承ArrayAdapter。...2.自定义适配器中常用方法:getCount、getView、getItem、getItemId。...ListView滚动毕竟只是满足 了我们视觉上效果,下面我们来学习ListView如何才能响 应用户点击事件。

    1.9K10

    android ListView实现圆角(两种解决方案)

    .扯了,(网上实现例子很多)下面简单介绍下实现方法:(两种方法) 第一种:我们通过配置文件也就是shape自己实现圆角背景,以及selector选中某项背景....第二种方法:我们用.9.png完全代替上面那些配置,(因为.9.png可以拉伸毁容) 所以listview第一项,中间项,最后一项,以及就一项,我们都可以通过图片来实现....这里我运用第一种方法:(也巩固下shape) 创建自定义listview,用于实现setSelector及选中效果....without this statement,the listview will be // a // little short // listView.getDividerHeight()获取子项间分隔符占用高度...,加上如上面这些比较死数据,我们完全没有必要用listview来实现,TableLout完全够了.主要是我们怎么实现带有弧度边罢了,不过这也完全得力于shape功劳,至于点击效果效果嘛,我们有selector

    93020

    【Android从零单排系列二十六】《Android视图控件——ScrollView》

    它对于需要显示较长文本、图片或其他可滚动内容界面非常有用。与RecyclerView相比,ScrollView更适用于静态、不需要复用子项情况。...android:scrollbars:定义滚动条显示方式。可选值有"none"(不显示)、"vertical"(只显示垂直滚动条)和"horizontal"(只显示水平滚动条)。...android:fadeScrollbars:控制滚动条是否在活动状态时渐隐。设置为true表示滚动条会渐隐,默认为false。...smoothScrollTo(int x, int y):平滑地将ScrollView滚动到指定位置,会有滚动动画效果。...smoothScrollBy(int dx, int dy):平滑地将ScrollView滚动指定偏移量,会有滚动动画效果

    39220

    Android之ExpandableListView下拉分组实现

    ExpandableListView是android中可以实现下拉list一个控件,具体实现方法如下: 首先:在layoutxml文件中定义一个ExpandableListView <LinearLayout...源码下载:http://files.cnblogs.com/salam/WidgetDemo.rar   ExpandableListView是Android中手风琴,本人感觉效果相当棒。   ...一、ExpandableListView介绍     一个垂直滚动显示两个级别(Child,Group)列表项视图,列表项来自ExpandableListAdapter 。组可以单独展开。   ...setSelectedChild(int groupPosition, int childPosition, boolean shouldExpandGroup) :设置选择指定子项。...childPosition) :返回所选择子项 getPackedPositionType(long packedPosition) :返回所选择项类型(Child,Group) isGroupExpanded

    76970

    Material Design 实战 之 第六弹 —— 可折叠式标题栏(CollapsingToolbarLayout) & 系统差异型功能实现(充分利用系统状态栏空间)

    CollapsingToolbarLayout可以让Toolbar效果变得更加丰富,不仅仅是展示一个标题栏,而是能够实现非常华丽效果。...如果我们想要在里面放入很多东西的话,通常都会先嵌套一个LinearLayout,然后再在LinearLayout中放入具体内容,如下: .........中放入具体内容, 使用一个TextView来显示水果内容详情, 并将TextView放在一个卡片式布局当中: .........重新运行一下程序,效果如下: ? 向上拖动水果图片,背景图上标题会慢慢缩小,而且会产生错位偏移效果,toolbar位置和图片还会产生透明度变化等等,效果十分炫酷。 ? ?...现在只要是在Android5.0及以上系统运行这个MaterialTest程序,水果详情展示界面的效果便如下: ? 跟刚刚效果相比,视觉体验是完全不同档次。 ?

    2.3K40
    领券