翻翻git之---可以收缩伸展的自定义LinearLayout ExpandableLinearLayout

转载请注明出处:王亟亟的大牛之路

今天无意中看到个十分好用,而且效果类似于之前写过的QQ没网络的那种呈现方式,这边分享给大家,先贴下效果

控件部分收缩

控件全部收缩

How to use?

主build文件

allprojects {
    repositories {

        maven { url "https://jitpack.io" }
    }
}

包build文件

dependencies {
    compile ‘com.github.cachapa:expandablelayout:1.1‘
}

EC:自行Copy很简单就一个类一个XML 很容易植入

因为是一个试图组,例子中作为根节点的布局来操作,我们使用时看你的需要吧,像这样

<net.cachapa.expandablelayout.ExpandableLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/expandable_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:el_duration="1000"
    app:el_expanded="true">

    <TextView
        android:id="@+id/expand_button"
        style="@style/TextAppearance.AppCompat.Medium"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?android:windowBackground"
        android:elevation="6dp"
        android:foreground="?selectableItemBackground"
        android:gravity="center"
        android:padding="16dp"
        android:text="Click here to toggle expansion" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#00b300"
        android:clipToPadding="false"
        android:elevation="4dp"
        android:gravity="center"
        android:text="Fixed height"
        android:textColor="#fff"
        app:layout_expandable="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#00f"
        android:gravity="center"
        android:text="Fill height"
        android:textColor="#fff"
        app:layout_expandable="false" />

</net.cachapa.expandablelayout.ExpandableLinearLayout>

因为继承LinearLayout ,所以水平还是垂直看你的需要,其他就没区别了

然后哪个节点需要伸缩,设置下

 app:layout_expandable="true"

就行true就是支持,false就是不支持,很简单。

还有2个自定义标签,这里也说下

 app:el_duration="1000"
 app:el_expanded="true"

一个用于动画设置时间,一个设置可见不可见。

app:el_duration默认 300

app:el_expanded默认 false

大致讲下如何实现,试图组计算位置摆放等操作和普通LinearLayout没什么区别,动画使用ValueAnimator动画来处理的默认动画结束后做 view.setVisibility(GONE) 或者view.setVisibility(View.VISIBLE)操作。

那如何设置动态设置显示or隐藏效果呢?

调用

 expandableLayout.toggle();

它会自动判断当前的状态然后走 相应逻辑,使用非常的简单

该项目已收入 :https://github.com/ddwhan0123/Useful-Open-Source-Android

源码地址:https://github.com/cachapa/ExpandableLayout/archive/master.zip

原作者:

时间: 2024-10-11 04:14:41

翻翻git之---可以收缩伸展的自定义LinearLayout ExpandableLinearLayout的相关文章

Git学习笔记(9)——自定义配置

本文主要记录了Git的一些易用化的配置和别名的使用 配置Git的命令输出带有颜色,更加醒目 //配置输出颜色 $ git config --global color.ui true //取消输出颜色 $ git config --global color.ui false 忽略特殊文件配置 有些时候,必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件等等,每次git status都会显示Untracked files ...,这让有强迫症的我们好难受啊. Git

翻翻git之---自定义View实现水位上涨效果 WaveProgressView

转载请注明出处:王亟亟的大牛之路 P1 (废话部分,技术内容在P2) 上周陆续收到一些想尝试性换工作的小伙伴们的简历,相关的负责的HR妹子已经电话轰炸过去了,如果有兴趣的小伙伴可以看下http://blog.csdn.net/ddwhan0123/article/details/50756745的最下面部分,有相关职位的介绍,简历到QQ邮箱 [email protected] P2 这篇介绍的 是 一个(动画+思路)蛮不错的 进度实现的效果 效果: how to use? gradle: /bu

翻翻git之---炫酷的自定义翻滚View TagCloudView

转载请注明出处:王亟亟的大牛之路 周一好,又到了每周最困的一天,最近都被啮齿类动物搞的累死,废话不多,今天上一个自定义的ViewGroup实现一个3D球形集合. 效果图: 效果还不错,可以作为短小文字内容的展示用 How to use? Grade: compile 'com.moxun:tagcloudlib:1.1.0' Eclipse: 把这些代码Copy到自己的项目里去吧! 控件有几个自定义标签共给大家设置,诸如转的速度啊,初始颜色结束颜色啊之类的. <declare-styleable

翻翻git之---&quot;有趣效果&quot;的自定义View EasyArcLoading

转载请注明出处:王亟亟的大牛之路 早上写了一个关于MD的文章,下午给编译器调了个色,感觉要上天了,所以为了试颜色就出了这篇文章,让大家一起瞎一下 好了废话不说,这一片给大家介绍一个当做Dialog作用的自定义View 效果图: How to use? Gradle dependencies { com.camnter.easyarcloading:easyarcloading:1.0 } Eclipse: 把实现类和资源文件copy进去就好了 使用的话就直接XML加载,像这样 <?xml ver

翻翻git之---可用作课程表/排班表的自定义table库ScrollTableView

转载请注明出处:王亟亟的大牛之路 最近一直在写混合开发的东西,是时候温故下native的了. 一年多之前领导提了一个双性滚动+快点击的"TableView"那时候自己整了2 3天没整出来,本来想今天"圆梦",但是发现轮子已经有了,但是少了一些小功能和足够多的解释,那就把这个轮子fork下来自己改!(我们不生产代码,我们只是代码的搬运工) 源码地址:https://github.com/ddwhan0123/ScrollTableView 按照习惯,安利下:https

翻翻git之---不靠画全靠“演”,好看的自定义TextView translucent-android

转载请注明出处:王亟亟的大牛之路 P1:废话部分 上周五又没上班所以没怎么写东西,礼拜5 入了条地图,昨天开食了,有时间再去搞两条别的然后再买个缸(家里的缸,鱼啊别的动物已经好多了..次哦)0.0 不然他们大了,别的鱼要倒霉了...哈哈 白红的那位 麦麦: 当当: P2:正文 今天贴的是一个自定义的TextView,效果图如下: 看上去还是蛮炫目的对不对? 是不是觉得做了渐变的行为等等等之类的实现? 这里卖个关子,先介绍下如何使用,实现等会说一定让你吃鲸(懒人的创作,哈哈哈) Grade: de

翻翻git之---一个丰富的通知工具类 NotifyUtil

转载请注明出处王亟亟的大牛之路 P1(废话板块,今天还加了个小广告) 昨天出去浪,到家把麦麦当当放出来玩一会就整到了12点多..早上睡过头了..简直心酸.... 最近手头上有一些职位可以操作,然后这里Share给大家 公司:暴走大事件 职位:Android/iOS开发 地点:上海 公司:Pactera 职位:Android/Java/PHP/.Net/Web前端/测试/UI设计 地点:上海(这批收的服务于 平安) 公司: 阿里巴巴 职位:Android/iOS 地点:北京/杭州/上海 有意向 可

翻翻git之---史上最强的图片选择器 GalleryFinal(顺带附下麦麦,当当的近照)

转载请注明出处:王亟亟的大牛之路 技术内容在P2,P1是废话可以跳过 P1:(开胃菜) 最近手头上工作的事差不多告一段落了,可以把更多的精力花在学习上了,还是会继续翻git这部分的文章(搬运工),然后准备整整一些之前没接触过的知识点(具体学什么没想好,等会看看去) 先上一下家里宝贝的近照 P2:(正菜) 今天上的是一个自称是"史上最强的图片选择器" GalleryFinal 话不多说先看看效果 作者几乎实现了我们平时所需的"皂片"选择器的所有功能,还带有一定的编辑和

翻翻git之---闪烁动画的TextView RevealTextView

转载请注明出处:王亟亟的大牛之路 今天没有P1啦!! 对换工作有想法的,可以找昨天的P1,哈哈 地址:http://blog.csdn.net/ddwhan0123/article/details/50728434 今天上一个自身闪烁,用于吸引用户注意力的TextView * RevealTextView* 先上下效果图:(这图片够大的) How to use? Gradle dependencies { compile 'com.antonionicolaspina:revealtextvie