Giter VIP home page Giter VIP logo

toggleexpandlayout's Introduction

ToggleExpandLayout

Android Arsenal

A togglelayout that can be used in setting interface. Originally designed by dribbble. And the author said that's why he designed this:

I never liked how some settings are disabled by default and not tappable until another settings has been turned on/off.

My concept is to hide these disabled settings behind their "master toggle" and then have them transition out as they become active - making the list cleaner, with less clutter and ultimately easier to use.

Preview

toggleexpandlayout

Usage

  • XML

if yout just use one togglelayout:

 <com.fenjuly.mylibrary.ToggleExpandLayout
        android:id="@+id/toogleLayout"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="15dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <View
            android:id="@+id/view1"
            android:layout_width="300dp"
            android:layout_height="80dp"
            android:background="#ffffff"
            android:elevation="2dp"
            android:outlineProvider="bounds"
            >
        </View>
        <View
            android:id="@+id/rootView"
            android:layout_width="300dp"
            android:layout_height="80dp"
            android:background="#ffffff"
            android:elevation="2dp"
            android:outlineProvider="bounds"
            >
        </View>
    </com.fenjuly.mylibrary.ToggleExpandLayout>

if yout want to use more than one togglelayouts with drop and rise animation, use DropDownLayout:

 <com.fenjuly.mylibrary.DropDownLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="15dp"
        >

    <com.fenjuly.mylibrary.ToggleExpandLayout
        android:id="@+id/toogleLayout"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="15dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        ...
    </com.fenjuly.mylibrary.ToggleExpandLayout>
    
    <com.fenjuly.mylibrary.ToggleExpandLayout
        android:id="@+id/toogleLayout"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="15dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        ...
    </com.fenjuly.mylibrary.ToggleExpandLayout>
    </com.fenjuly.mylibrary.DropDownLayout>
  • JAVA

two methods public void open() and public void close()

layout.setOnToggleTouchListener(new ToggleExpandLayout.OnToggleTouchListener() {
            @Override
            public void onStartOpen() {
            }

            @Override
            public void onOpen() {
            }

            @Override
            public void onStartClose() {
            }

            @Override
            public void onClosed() {
            }
        });

###Get into your build

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

dependencies {
    compile 'com.github.fenjuly:ToggleExpandLayout:774e497692'
}

###License

MIT

toggleexpandlayout's People

Contributors

bryant1410 avatar cesarferreira avatar fenjuly 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

toggleexpandlayout's Issues

DropDownLayout not scrolling

I'm using com.fenjuly.mylibrary.DropDownLayout which contains 10 ToggleExpandLayout. It is not scrolling. How can I enable scrolling so that I can use more number of ToggleExpandLayout in the activity.

Simple ClassNotFoundException

If I try the DEMO example I get an exception. See trace.

My layout.xml looks like this:

`

  <com.fenjuly.mylibrary.ToggleExpandLayout
        android:id="@+id/toogleLayout1"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="15dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
            <TextView
                android:id="@+id/menu"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:layout_marginLeft="8dp"
                android:text="Automatic date and time"
                />
            <TextView
                android:layout_below="@+id/menu"
                android:layout_marginTop="4dp"
                android:layout_marginLeft="8dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Use network provide time"
                android:textColor="#cccccc"/>
            <com.kyleduo.switchbutton.SwitchButton
                android:id="@+id/switch_button"
                android:layout_alignParentRight="true"
                android:layout_marginRight="10dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="16dp"/>
        </RelativeLayout>

    </com.fenjuly.mylibrary.ToggleExpandLayout>

</com.fenjuly.mylibrary.DropDownLayout>

`

Trace:

`
FATAL EXCEPTION: main
Process: com.artursworld.nccn, PID: 2427
android.view.InflateException: Binary XML file line #37: Binary XML file line #37: Error inflating class com.fenjuly.mylibrary.DropDownLayout
Caused by: android.view.InflateException: Binary XML file line #37: Error inflating class com.fenjuly.mylibrary.DropDownLayout
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.fenjuly.mylibrary.DropDownLayout" on path: DexPathList[[zip file "/data/app/com.artursworld.nccn-2/base.apk"],nativeLibraryDirectories=[/data/app/com.artursworld.nccn-2/lib/x86, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.view.LayoutInflater.createView(LayoutInflater.java:609)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at com.afollestad.materialdialogs.MaterialDialog$Builder.customView(MaterialDialog.java:1068)
at com.artursworld.nccn.view.user.UserStartConfiguration.showConfigurationDialog(UserStartConfiguration.java:29)
at com.artursworld.nccn.view.StartMenu.onNavigationItemSelected(StartMenu.java:55)
at android.support.design.widget.NavigationView$1.onMenuItemSelected(NavigationView.java:151)
at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:810)
at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:957)
at android.support.design.internal.NavigationMenuPresenter$1.onClick(NavigationMenuPresenter.java:318)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22260)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

`

Do you have any ideas?

gradle build failed

Error:(48, 13) Failed to resolve: com.github.fenjuly:ToggleExpandLayout:9de3036
Show in File Show in Project Structure dialog

my Project level gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.google.gms:google-services:1.4.0-beta3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
maven { url "https://jitpack.io" }
jcenter()
mavenCentral()
}
}

My modul level gradle:
dependencies {
compile 'com.github.fenjuly:ToggleExpandLayout:774e497692'
}

MInimum api level

The minimum api level to use these lib is API - 16 . Can you downgrade that at least to api 14

something lost

the 774e497(com.github.fenjuly:ToggleExpandLayout:774e497692),when i build,find something lost.

the class(com.fenjuly.mylibrary.DropDownLayout) never find.

wrap content problem

when i use edit text with wrap content height in drop down layout it is not working !?

java.lang.NoSuchMethodError: android.view.View.setElevation

Demo app is crashing log is here

Process: com.fenjuly.toggleexpandlayout, PID: 4599
java.lang.NoSuchMethodError: android.view.View.setElevation
at com.fenjuly.toggleexpandlayout.MainActivity$1.onOpen(MainActivity.java:36)
at com.fenjuly.mylibrary.ToggleExpandLayout$1.onAnimationEnd(ToggleExpandLayout.java:93)

ImageButton toggle

How can we toggle the layout with the help of an image button?
can we do that? if yes then how?
thanks ...

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.