Scalable Layout For Android

Overview

ScalableLayout for Android.

Class: com.ssomai.android.scalablelayout.ScalableLayout 한글버전 README.md: https://github.com/ssomai/ScalableLayout/blob/master/README_ko.md

Just one layout for every different Android device size!

ScalableLayout is a new layout that helps you keep a consistent UI across any screen size and any layout size.

ScalableLayout can be usable in replace of Layouts (i.e. FrameLayout, LinearLayout, etc.) and does the work of scaling all of the child views correctly for you.

UI Widgets like TextView or Imageview get relative (x,y) coordinates and relative (width, height) values from the ScalableLayout.
ScalableLayout then places and resizes the widgets according to these values.

You can use ScalableLayout by importing just one java file.
You can use ScalableLayout with either Java or XML in your project.

ScalableLayout is used on the EverySing Karaoke app, which was awarded in the Google Play App Awards 2013.

The library is pushed to Maven Central as a AAR, so you just need to add the following dependency to your build.gradle.

dependencies {
  compile 'com.ssomai:android.scalablelayout:2.1.6'
}

Simple example in Java

// Initiate ScalableLayout instance with 400 width and 200 height.
// It's a relative unit, not pixels or dip.
ScalableLayout sl = new ScalableLayout(this, 400, 200);

// Place a TextView instance inside ScalableLayout instance.
TextView tv = new TextView(this);

// Placing a TextView with following parameters. left: 20, top: 40, width: 100, height: 30.
// It will place and scale automatically according to the size of its parent ScalableLayout.
sl.addView(tv, 20f, 40f, 100f, 30f);

// Set the text size of TextView as 20. It will scale automatically.
sl.setScale_TextSize(tv, 20f);

// All of the original methods of TextView work properly.
tv.setText("test");
tv.setBackgroundColor(Color.YELLOW);


// Place an ImageView instance inside a ScalableLayout instance.
ImageView iv = new ImageView(this);

// Placing an ImageView with following parameters. left: 200, top: 30, width: 50, height: 50.
// It will place and scale automatically according to the size of its parent ScalableLayout.
sl.addView(iv, 200f, 30f, 50f, 50f);

// All of the original methods of ImageView work properly, of course.
iv.setImageResource(R.drawable.ic_launcher);

Simple example in XML

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
	<com.ssomai.android.scalablelayout.ScalableLayout
	  android:layout_width="match_parent"
	  android:layout_height="wrap_content"
	  android:background="@android:color/darker_gray"
	  android:layout_above="@+id/main_textview"
	  app:scale_base_width="400"
	  app:scale_base_height="200">
	  <TextView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		app:scale_left="20"
		app:scale_top="40"
		app:scale_width="100"
		app:scale_height="30"
		app:scale_textsize="20"
		android:text="@string/hello_world"
		android:textColor="@android:color/white"
		android:background="@android:color/black" />
	  <ImageView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		app:scale_left="200"
		app:scale_top="30"
		app:scale_width="50"
		app:scale_height="50"
		android:src="@drawable/ic_launcher" />
	</com.ssomai.android.scalablelayout.ScalableLayout>
</FrameLayout>

Examples of ScalableLayout on different resolutions of Android devices.

From left. Samsung Galaxy S4 (1920 x 1080. 16:9), LG Optimus View2 (1024 x 768. 4:3), Samsung Galaxy Note 10.1 (1280 x 800. 8:5)

alt tag All the UIs are placed correctly on different resolutions.

alt tag All the UIs in ListView are placed correctly on different resolutions.

alt tag UIs in Dialog are also placed correctly on different resolutions. You can notice there are more left and right margins on Optimus View 2 to layout correctly.

Comments
  • ScalableLayout 안에 :TextView, ImageView에 id입력시 미리보기 오류

    ScalableLayout 안에 :TextView, ImageView에 id입력시 미리보기 오류

    ScalableLayout 안에 TextView등 위젯들을 위치시키고 java파일에서 사용하고 위해

    android:id="@+id/ddddddddd" 이런식으로 입력하니깐 미리보기에서 오류가 나서 안보입니다. 실행할때는 문제없는데, XML화면 미리보기가 안되니 불편하기는 합니다 ㅠㅠ

    IntelliJ 13 버젼사용하고 있습니다.

    Rendering Problems 
    java.lang.UnsupportedOperationException   at 
    android.content.res.BridgeResources.getResourceTypeName(BridgeResources.java:479)   at
     android.view.View.toString(View.java:4017)   at 
    com.jnm.android.widget.ScalableLayout.onMeasure(ScalableLayout.java:415)   at 
    android.view.View.measure(View.java:16458)   at 
    android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)   at 
    android.widget.FrameLayout.onMeasure(FrameLayout.java:310)   at 
    android.view.View.measure(View.java:16458)   at 
    android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)   at 
    android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)   at 
    android.widget.LinearLayout.measureVertical(LinearLayout.java:695)   at 
    android.widget.LinearLayout.onMeasure(LinearLayout.java:588)   at 
    android.view.View.measure(View.java:16458)   at 
    android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)   at 
    android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)   at 
    android.widget.LinearLayout.measureVertical(LinearLayout.java:695)   at 
    android.widget.LinearLayout.onMeasure(LinearLayout.java:588)   at 
    android.view.View.measure(View.java:16458)  
    
    question 
    opened by devjin0617 11
  • 안녕하세요 ScalableLayout을 사용하고있는데요.

    안녕하세요 ScalableLayout을 사용하고있는데요.

    작업은 1280 x 720 (xhdpi) 기준으로 작업했습니다. 테스트 기기는 G2로 테스팅 해봤는데요 액션바 부분과 소프트키 부분이 이렇게 출력이 되어버리네요 소프트키가 없는 갤럭시S6 라던지 다른 디바이스에서는 다 정상적으로 출력이 되는데 G2는 소프트키때문인지 저렇게 짤리게 됩니다. 왜 그럴까요??

    1 2

    opened by wonnew1207 8
  • EditText에서 textview_wrapcontent_direction 사용 질문 드립니다.

    EditText에서 textview_wrapcontent_direction 사용 질문 드립니다.

    xml 파일에 EditText 를 두고 java 파일에서 setText를 이용하여 텍스트를 노출하는 기능을 구현 중에 있습니다.

    setText 시에 텍스트의 길이가 EditText의 width보다 짧으면 한줄로 잘 표시가 되지만 width보다 길면 첨부파일과 같이 한줄 이상으로 표시되며 잘려서 보입니다.

    default

    해당 현상을 수정하고자 EditText의 속성을 추가하였습니다.

        <EditText
            android:id="@+id/edit_subject"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bg_border"
            android:ems="10"
            android:padding="8dp"
            sl:scale_height="100"
            sl:scale_left="270"
            sl:scale_textsize="45"
            sl:scale_top="270"
            sl:scale_width="700"
            sl:textview_wrapcontent_direction="bottom"
            sl:textview_wrapcontent_resizesurrounded="true"
            sl:textview_wrapcontent_movesiblings="false" />
    

    그런데 화면 처음 진입 시에는 현상이 유지되고 해당 EditText를 터치해야지만 영역이 넓어집니다.

    화면 처음 진입 시에 영역이 넓어진 상태로 노출되도록 하는 속성은 없는지 해결 방법 공유 부탁드립니다ㅠㅠ..

    opened by kimkyungmi 7
  • Other Elements Support

    Other Elements Support

    Is there a way or do you have any example that this is applicable to elements like buttons, textboxes and the like. It seems that only the TextView and ImageView is supported for this(correct me if I'm wrong). TIA

    opened by online-lorno 7
  • Center of ScalableLayout

    Center of ScalableLayout

    Hi Ssomai, Thank for your library. I have a question. In the ScalableLayout, how can we put a view in the center of this layout? For example, in the scalable layout, I have 3 view: PreviousButton ---- TextView -----NextButton The content of textview is changed dynamically. How to ensure this text is alway the center of the layout? (Like RelaytiveLayout) Thank

    opened by lapngodoan 6
  • 안드로이드스튜디오 2.3.3 사용 시 미리보기 불가 문의

    안드로이드스튜디오 2.3.3 사용 시 미리보기 불가 문의

    안녕하세요, 문의드릴 사항이 있어 글 올립니다.

    안드로이드스튜디오 2.3.3 환경에서 ScalableLayout 2.1.3 사용 중에 있습니다.

    그런데, xml 파일에서 Preview 영역이 보이지 않습니다. (아래와 같은 에러가 노출됩니다.)

    java.lang.NoSuchFieldError: View_scale_left_baseposition   at com.ssomai.android.scalablelayout.ScalableLayout$LayoutParams.(ScalableLayout.java:914)   at com.ssomai.android.scalablelayout.ScalableLayout.generateLayoutParams(ScalableLayout.java:225)   at com.ssomai.android.scalablelayout.ScalableLayout.generateLayoutParams(ScalableLayout.java:24)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:860)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)   at android.view.LayoutInflater.inflate(LayoutInflater.java:518)   at android.view.LayoutInflater.inflate(LayoutInflater.java:397) Copy stack to clipboard Tip: Try to refresh the layout.

    현재 환경은

    1. ScalableLayout 사용하는 xml 안에 xmlns:sl="http://schemas.android.com/apk/res-auto" 추가
    2. build.gradle 파일 안에 compile 'com.ssomai:android.scalablelayout:2.1.3' 추가
    3. Target SDK Version = API 25 : Android 7.1.1 (Nougat) 이렇게 구성되어 있습니다.

    (몇일 전까지만 해도 잘 보였는데 갑자기 해당 현상이 발생됩니다...)

    혹시 해결방법에 대해 공유해주실 수 있으시면 공유 부탁드립니다. 감사합니다.

    opened by kimkyungmi 5
  • TextView에 Drawable 붙일 때 이미지 크기가 정확하질 않아서요

    TextView에 Drawable 붙일 때 이미지 크기가 정확하질 않아서요

    뭐라고 해야 되나? 실제보다 크게 나와요. 그래서 텍스트뷰 크기를 이미지 픽셀 크기에 맞추면 이미지 가장자리가 잘립니다. ImageButton에서도 마찬가진데, 그거는 scaletype을 아무거나 지정해 주면 해결되고 ImageView에서는 정상적으로 동작해서, 최소 크기에 맞춰서 이미지도 재조정됩니다. 옛날 버전은 안그랬지 싶은데 확인 좀 부탁드립니다.

    screenshot_2015-10-29-10-05-40

    맨 왼쪽이 ImageView, 가운데가 ImageButton, 맨 우측이 TextView에 Drawable 붙인 겁니다. ImageView는 정상적이고, ImageButton은 크기값이 ImageView와 같은 상태입니다.

    opened by dio-brando 5
  • xml에서 textview_wrapcontent_resizesurrounded 에러

    xml에서 textview_wrapcontent_resizesurrounded 에러

    안녕하세요 ScalableLayout로 어플만들고있습니다. 그런데 버그가 있는거 같아서 문의 드립니다. XML 내에서 텍스트 사이즈를 딱 맞게 줄이려고 sl:textview_wrapcontent_direction="right" sl:textview_wrapcontent_resizesurrounded="true" 로 쓰고있는데 그 부모들의 left나 top가 1이라도 있는 경우 출력자체가 안되는 버그가 있습니다. 부모뿐만 아니라 부모의 부모를 쭉 타고가서 루트까지 전부 left top이 0이여야 제대로 보여지는 현상이 있어서 이슈 적어봅니다.

    opened by lsb156 5
  • 오픈소스 프로젝트 디펜더시 설정

    오픈소스 프로젝트 디펜더시 설정

    안녕하세요, 안드로이드 앱 공부를 하는 학생입니다.

    우연히 scalableLayout을 알게되서 살펴보려고 하는데요,

    오픈소스 프로젝트에 디펜더시 설정하려고

    sample_scalablelayout > build.gradle에

    dependencies { compile 'com.ssomai:android.scalablelayout:2.1.0' }

    디펜더시 설정을 했는데,

    Error:No such property: nexusUsername for class: org.gradle.api.publication.maven.internal.deployer.DefaultGroovyMavenDeployer

    라는 에러가 납니다. 혹시 잘못 설정한건지 궁금합니다.

    감사합니다.

    opened by DohyukKim 4
  • 안녕하세요...xml파일에서 오류나요ㅜㅜ

    안녕하세요...xml파일에서 오류나요ㅜㅜ

    ScalableLayout임포트하고요 xml샘플 그대로넣어봤는데요..텍스트뷰랑랑 이미지뷰 부분에서 전부 에러뜨네요ㅜ.ㅜAttribute is missing the Android namespace prefix 이에러요!!오타도 한개도 없는데..오ㅐ이러는걸까요 도와주시면 감사하겠습니다!

    opened by imniimni 4
  • 레이아웃 Preview 화면에서의 에러

    레이아웃 Preview 화면에서의 에러

    안녕하세요. 이번 프로젝트를 진행하면서 ScalableLayout을 사용해보려고하는데요,

    xml 프리뷰 화면에서 아래와 같은 에러가 나면서 렌더링이 안돼는데, 어떤문제일까요?

    AndroidStudio 2.3.3, SDK는 21 사용중입니다.

    java.lang.NoSuchFieldError: View_scale_left_baseposition   at com.ssomai.android.scalablelayout.ScalableLayout$LayoutParams.(ScalableLayout.java:938)   at com.ssomai.android.scalablelayout.ScalableLayout.generateLayoutParams(ScalableLayout.java:225)   at com.ssomai.android.scalablelayout.ScalableLayout.generateLayoutParams(ScalableLayout.java:26)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:860)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)   at android.view.LayoutInflater.inflate(LayoutInflater.java:518)   at android.view.LayoutInflater.inflate(LayoutInflater.java:397) Copy stack to clipboard Tip: Try to refresh the layout.

    opened by taeyoung4808 3
  • ScalableLayout에서 Spinner, Radio Button, CheckBox 처리

    ScalableLayout에서 Spinner, Radio Button, CheckBox 처리

    예시에 나온 방법과 같이 ImageView나 TextView 같은 경우는 사용하고 있으나,

    1. Spinner 사용시, 스피너 내 텍스트 조절
    2. RadioButton 사용시, 버튼 크기 및 텍스트 크기 조절
    3. CheckBox 사용시, 버튼 크기 및 텍스트 크기 조절이 가능한지가 궁금합니다.

    가능하다면, xml과 프로그램 방식으로 어떻게 하는지도 실례가 안 된다면 여쭙고 싶습니다.

    현재는 방법을 찾지 못해서, 2, 3번의 경우 각각의 요소 옆에 textView로 붙여서 프로그램 내 각각의 요소를 추가하는 방법으로 진행하고 있는데 혹시나 방법이 있을까 하여 문의드립니다.

    opened by kros235 1
  • textview에 다시 setText를 했을때 ellipsize가 먹지를 않아 문의드립니다.

    textview에 다시 setText를 했을때 ellipsize가 먹지를 않아 문의드립니다.

    안녕하세요, scalableLayout이라는 좋은 라이브러리를 만들어주셔서 UI를 구성할때 편하게 잘 쓰고있어 감사인사를 드립니다. :)

    다름이 아니라 A activity의 특정 textview에 ellipsize, textview_wrapcontent_scale_maxwidth 옵션을 줘서 ellipsize를 작동하게 해줬고 제일 처음 A activity가 로드되면서 화면이 나올때는 해당 옵션이 잘먹는거를 확인했습니다.

    그다음으로 버튼을 누르면 다시 새로운 문자열을 setText를 하게 요청을 하게 해줬는데 이때 긴 문자열임에도 불구하고 ellipsize가 먹지않고 뒤에 글자가 짤리는 현상이 있습니다....

    requestLayout을 해줘봤고 혹시나 싶어 setText(null), setText("")을 통해 해당 textView를 줄인다음에 다시 setText도 해봤습니다.

    도저히 방법을 못찾겠어서 혹시 이런 경우에는 어떻게 대처해야되는지 조언을 구하고 싶어서 글을 남기게 되었습니다.

    textView에 다시 setText를 해줬을때 ellipsize를 먹게 하려면 어떻게 해야될까요?

    해당 xml코드는 아래와 같고 txtUserName에서 위아 같은 버그가 발생하고 있습니다.

    <com.ssomai.android.scalablelayout.ScalableLayout android:id="@+id/patientResultScalable" android:layout_width="wrap_content" android:layout_height="wrap_content" app:scale_base_height="40" app:scale_base_width="300" app:scale_height="40" app:scale_left="15" app:scale_top="68" app:scale_width="350">

                    <TextView
                        android:id="@+id/txtUserName"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:fontFamily="@font/notosans_bold"
                        android:text="김sdsdsdsiojiojlkmlm"
                        android:textColor="@color/color_black"
                        android:maxLines="1"
                        android:ellipsize="end"
                        android:gravity="center_vertical|left"
                        app:scale_height="30"
                        app:scale_left="8"
                        app:scale_textsize="20"
                        app:scale_top="10"
                        app:scale_width="140"
                        app:textview_wrapcontent_scale_maxwidth="145"
                        app:textview_wrapcontent_direction="right"
                        app:textview_wrapcontent_movesiblings="true"
                        app:textview_wrapcontent_resizesurrounded="true"/>
    
                    <TextView
                        android:id="@+id/txtUserInfo"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:fontFamily="@font/notosans_regular"
                        android:text="(Female, 49 y/o)"
                        android:textColor="@color/color_black"
                        android:includeFontPadding="false"
                        app:scale_height="25"
                        app:scale_left="148"
                        app:scale_textsize="16"
                        app:scale_top="15"
                        app:scale_width="130"
                        app:textview_wrapcontent_direction="right"
                        app:textview_wrapcontent_movesiblings="true"
                        app:textview_wrapcontent_resizesurrounded="true"/>
    
                    <ImageButton
                        android:id="@+id/imgPatient"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/img_patient_settings"
                        app:scale_height="22"
                        app:scale_left="283"
                        app:scale_top="15"
                        app:scale_width="20" />
    
                </com.ssomai.android.scalablelayout.ScalableLayout>
    
    opened by LEEbyeonghoon2 2
  • ScalableLayout을 xml에 사용하였을때 발생된 오류 문의 드리고 싶습니다

    ScalableLayout을 xml에 사용하였을때 발생된 오류 문의 드리고 싶습니다

    image

    안드로이드를 공부하는 초보 개발자 입니다 이미지상에 동그라미로 그려진 부분은 app->android로 변경하면 오류는 사라지나 사진의 위치가 원점으로 고정되 움직이지 않습니다 왜이런 오류가 발생하는지 알려주시면 감사하겠습니다 ㅜ

    Build Output 오류 메시지 입니다 Android resource compilation failed C:\Users\ehehw\AndroidStudioProjects\test\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:321: error: inner element must either be a resource reference or empty. C:\Users\ehehw\AndroidStudioProjects\test\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:325: error: inner element must either be a resource reference or empty. C:\Users\ehehw\AndroidStudioProjects\test\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml: error: file failed to compile.

    opened by mason5052 6
  • setTextViewWrapContent에 대해 질문드립니다.

    setTextViewWrapContent에 대해 질문드립니다.

    안녕하세요.

    Scalablelayout 라이브러리를 통해 앱개발을 잘쓰고 있습니다.

    한가지 궁금한게 있어서 질문 남깁니다.

    xml 에쪽에서 Scalablelayout 에 id를 지정해서 java 쪽에서 지정한뒤 Scalablelayout에 있는

    textview를 기기마다 조절 하고 싶은데요.

    캡처

    xml을 이런식으로 구성되어있으며

    123

    이런식으로 handler 쪽안에 쓸려고 하는데요 디버깅해보면 앱이 팅겨버립니다.

    제가 잘못 쓰고있는건지 아니면 쓰는방법이 다른지 몰라서 질문드립니다.

    opened by skyldh89325 2
Releases(v2.1.1)
  • v2.1.1(Jun 5, 2016)

    Features

    #34 를 지원합니다. left와 top의 기준점을 view의 어디로 세팅할지를 정할 수 있습니다. 기본 값은 각각 left와 top입니다. sl:scale_left_baseposition="left,center,right" sl:scale_top_baseposition="top,center,bottom" 샘플은 아래 링크를 참조하시면 됩니다. https://github.com/ssomai/ScalableLayout/blob/v2.1.1/sample_scalablelayout/src/main/res/layout/activity_main.xml

    Bug Fixes

    Android Studio preview에서 v23으로 세팅했을때 에러가 뜨는 현상을 수정했습니다.

    Source code(tar.gz)
    Source code(zip)
Owner
Youngmann Kim
Youngmann Kim
Responsive Layout Gird Configuration using Compose. An adaptive layout

ResponsiveGrid Responsive Grid is most followed layout system by the designer as it adapts to screen size and orientation, ensuring consistency across

null 4 Apr 12, 2022
An Android Layout which has a same function like https://github.com/romaonthego/RESideMenu

ResideLayout An Android Layout which has a same function like https://github.com/romaonthego/RESideMenu. Can be used on Android 1.6(I haven't try it.)

Yang Hui 392 Oct 12, 2022
A very simple arc layout library for Android

ArcLayout A very simple arc layout library for Android. Try out the sample application on the Play Store. Usage (For a working implementation of this

ogaclejapan 1.4k Dec 26, 2022
Android layout that simulates physics using JBox2D

PhysicsLayout Android layout that simulates physics using JBox2D. Simply add views, enable physics, and watch them fall! See it in action with the sam

John Carlson 689 Dec 29, 2022
An Android demo of a foldable layout implementation. Engineered by Vincent Brison.

Foldable Layout This code is a showcase of a foldable animation I created for Worldline. The code is fully written with java APIs from the Android SDK

Worldline 599 Dec 23, 2022
A 3D Layout for Android,When you use it warp other view,it can became a 3D view,一秒让你的view拥有3D效果!

ThreeDLayout A 3D Layout,When you use it warp other view,it can became a 3D view 中文文档 preview USAGE 1.compile library allprojects { repositories {

androidwing 490 Oct 27, 2022
It's an Android library that allows you to use Layout as RadioButton or CheckBox.

Android - CompoundLayout It's an Android library that allows you to use Layout as RadioButton or CheckBox. The librarie is Android 14+ compatible. Gra

null 483 Nov 25, 2022
A pull to refresh layout for android, the RecyclerRefreshLayout is based on the SwipeRefreshLayout. support all the views, highly customizable, code simplicity, etc. really a practical RefreshLayout!

RecyclerRefreshLayout English | 中文版 RecyclerRefreshLayout based on the {@link android.support.v4.widget.SwipeRefreshLayout} The RecyclerRefreshLayout

dinus_developer 1.7k Nov 10, 2022
Easy, flexible and powerful Swipe Layout for Android

SwipeRevealLayout A layout that you can swipe/slide to show another layout. Demo Overview Drag mode Drag mode normal: Drag mode same_level: Features F

Chau Thai 1.5k Jan 4, 2023
[UNMAINTAINED]: AndroidMosaicLayout is android layout to display group of views as grid consists of different asymmetric patterns (90 different patterns).

AndroidMosaicLayout AndroidMosaicLayout is android layout to display group of views in more that 90 different patterns. What is AndroidMosaicLayout? I

Adham Enaya 474 Nov 12, 2022
Android implementation of FlowLayout. Layout arranges its children in multiple rows depending on their width.

FlowLayout FlowLayout is an opensource Android library that alows developers to easily integrate flow layout into their app. FlowLayout is an layout t

Blaž Šolar 754 Dec 15, 2022
Circular layout for android

CircleLayout Circular layout for android. Installlation Add CircleLayout as Android Library to your project. How to add project as Android Library Usa

Dmitry Zaytsev 244 Nov 18, 2022
An Android layout for arranging children along a circle

CircleLayout An Android layout for arranging children along a circle You can customize the following options: cl_centerView: Set a specific view ID to

Francois Campbell 374 Nov 18, 2022
Android - A layout that arranges its children in relation to a background image

ImageLayout A layout that arranges its children in relation to a background image. The layout of each child is specified in image coordinates (pixels)

Manuel Peinado Gallego 419 Nov 14, 2022
null 2.4k Dec 30, 2022
Android Shadow Layout

?? Before using this library, read information below ?? This library is not more supported. If you want to add new feature or fix a bug, grab source

Dmytro Danylyk 1.8k Jan 2, 2023
An android layout to re-arrange child views via dragging

Android Rearrangeable Layout An android layout to re-arrange child views via dragging Screencast Demo Layout Usage All the child views are draggable o

Raja Sharan Mamidala 273 Nov 25, 2022
BlurView - A very fast and dynamic blur layout for Android

BlurView - A very fast and dynamic blur layout for Android

null 16 Jul 11, 2022