[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4152":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":21,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},4152,"MaterialDesignLibrary","navasmdc\u002FMaterialDesignLibrary","navasmdc","This is a library with components of Android L to you use in android 2.2","",null,"Java",8923,2195,494,211,0,41,"Apache License 2.0",false,"master",true,[23,24],"android","material-design","2026-06-12 02:00:59","![Material design library logo](images\u002Flogo.png)\n\n# Material Design Android Library\n\n\u003Ca href=\"https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=com.gc.demomaterialdesign\">\n  \u003Cimg alt=\"Android app on Google Play\" src=\"https:\u002F\u002Fdeveloper.android.com\u002Fimages\u002Fbrand\u002Fen_app_rgb_wo_45.png\" \u002F>\n\u003C\u002Fa>\n\n\n[![Android Arsenal](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAndroid%20Arsenal-Material%20Design%20Android%20Library-brightgreen.svg?style=flat)](https:\u002F\u002Fandroid-arsenal.com\u002Fdetails\u002F1\u002F1156)\n\n* [How to use](#howtouse)\n* [Components](#components)\n    * [Buttons](#buttons)\n        * [Flat Button](#flat-button)\n        * [Rectangle Button](#rectangle-button)\n        * [Float Button](#float-button)\n        * [Float small button](#float-small-button)\n    * [Switches](#switches)\n        * [CheckBox](#checkbox)\n        * [Switch](#switch)\n    * [Progress indicators](#progress-indicators)\n        * [Progress bar circular indeterminate](#progress-bar-circula-rindeterminate)\n        * [Progress bar indeterminate](#progress-bar-indeterminate)\n        * [Progress bar indeterminate determinate](#progress-bar-indeterminate-determinate)\n        * [Progress bar determinate](#progress-bar-determinate)\n        * [Slider](#slider)\n        * [Slider with number indicator](#slider-with-number-indicator)\n* [Widgets](#widgets)\n    * [SnackBar](#snackbar)\n    * [Dialog](#dialog)\n    * [Color selector](#color-selector)\n\n## How to use\n\nIf you want use this library, you only have to download MaterialDesign project, import it into your workspace and add the project as a library in your android project settings.\n\nIf you prefer it, you can use the gradle dependency, you have to add these lines in your build.gradle file:\n\n```xml\nrepositories {\n    jcenter()\n}\n\ndependencies {\n    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'\n}\n```\n\nSome components have custom attributes, if you want use them, you must add this line in your xml file in the first component:\n\n```xml\n\u003CRelativeLayout xmlns:android=\"http:\u002F\u002Fschemas.android.com\u002Fapk\u002Fres\u002Fandroid\"\n    xmlns:materialdesign=\"http:\u002F\u002Fschemas.android.com\u002Fapk\u002Fres-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    >\n\u003C\u002FRelativeLayout>\n```\n\n>If you are going to use a ScrollView, it is recommended that you use the CustomScrollView provided in this library to avoid problems with the custom components.\n>To use this component:\n>```xml\n>\u003Ccom.gc.materialdesign.views.ScrollView \n>    xmlns:android=\"http:\u002F\u002Fschemas.android.com\u002Fapk\u002Fres\u002Fandroid\"\n>    xmlns:materialdesign=\"http:\u002F\u002Fschemas.android.com\u002Fapk\u002Fres-auto\"\n>    android:id=\"@+id\u002Fscroll\"\n>    android:layout_width=\"match_parent\"\n>    android:layout_height=\"match_parent\">\n>\u003C\u002Fcom.gc.materialdesign.views.ScrollView>\n>```\n\n##Components\n\n####Buttons\n\n######Flat Button\n\n![flat button](images\u002Fflat_button.png)\n```xml\n\u003Ccom.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id\u002Fbuttonflat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                android:text=\"Button\" \u002F>\n```\n\n######Rectangle Button\n\n![rectangle button](images\u002Frectangle_button.png)\n```xml\n\u003Ccom.gc.materialdesign.views.ButtonRectangle\n                android:id=\"@+id\u002Fbutton\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                android:text=\"Button\" \u002F>\n```\n\n######Float Button\n\n![float button](images\u002Ffloat_button.png)\n\n>It is recommended to put this component in the right-bottom of the screen. To use this component write this code in your xml file.\n>If you don`t want to start this component with animation set the animate attribute to false.\n>Put your icon in the icon attribute to set the drawable icon for this component.\n\n```xml\n\u003CRelativeLayout xmlns:android=\"http:\u002F\u002Fschemas.android.com\u002Fapk\u002Fres\u002Fandroid\"\n    xmlns:materialdesign=\"http:\u002F\u002Fschemas.android.com\u002Fapk\u002Fres-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    >\n    \u003C!-- ... XML CODE -->\n    \u003Ccom.gc.materialdesign.views.ButtonFloat\n                android:id=\"@+id\u002FbuttonFloat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_alignParentRight=\"true\"\n                android:layout_alignParentBottom=\"true\"\n                android:layout_marginRight=\"24dp\"\n                android:background=\"#1E88E5\"\n                materialdesign:animate=\"true\"\n                materialdesign:iconDrawable=\"@drawable\u002Fic_action_new\" \u002F>\n\u003C\u002FRelativeLayout>\n```\n\n######Float small button\n\n![float small button](images\u002Ffloat_small_button.png)\n\n```xml\n\u003Ccom.gc.materialdesign.views.ButtonFloatSmall\n                android:id=\"@+id\u002FbuttonFloatSmall\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:iconDrawable=\"@drawable\u002Fic_action_new\" \u002F>\n```\n\n####Switches\n\n######CheckBox\n![checkbox](images\u002Fcheckbox.png)\n\n```xml\n\u003Ccom.gc.materialdesign.views.CheckBox\n                android:id=\"@+id\u002FcheckBox\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:check=\"true\" \u002F>\n```\n\n######Switch\n![switch](images\u002Fswitch.png)\n\n```xml\n\u003Ccom.gc.materialdesign.views.Switch\n                android:id=\"@+id\u002FswitchView\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:check=\"true\" \u002F>\n```\n\n####Progress indicators\n\n######Progress bar circular indeterminate\n![progress bar circular indeterminate](images\u002Fprogress_bar_circular_indeterminate.png)\n\n```xml\n\u003Ccom.gc.materialdesign.views.ProgressBarCircularIndeterminate\n                android:id=\"@+id\u002FprogressBarCircularIndeterminate\"\n                android:layout_width=\"32dp\"\n                android:layout_height=\"32dp\"\n                android:background=\"#1E88E5\" \u002F>\n```\n\n######Progress bar indeterminate\n![progress bar indeterminate](images\u002Fprogress_bar_indeterminate.png)\n\n```xml\n\u003Ccom.gc.materialdesign.views.ProgressBarIndeterminate\n                android:id=\"@+id\u002FprogressBarIndeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\" \u002F>\n```\n\n######Progress bar indeterminate determinate\n![Progress bar indeterminate determinate](images\u002Fprogress_bar_indeterminate_determinate.png)\n\n\n```xml\n\u003Ccom.gc.materialdesign.views.ProgressBarIndeterminateDeterminate\n                android:id=\"@+id\u002FprogressBarIndeterminateDeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\" \u002F>\n```\n\n>If you begin progrees, you only have to set progress it\n>\n>```java\n>progressBarIndeterminateDeterminate.setProgress(progress);\n>```\n\n######Progress bar determinate\n![Progress bar determinate](images\u002Fprogress_bar_determinate.png)\n\n\n```xml\n\u003Ccom.gc.materialdesign.views.ProgressBarDeterminate\n                android:id=\"@+id\u002FprogressDeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\" \u002F>\n```\n\n>You can custom max and min progress values with `materialdesign:max=\"50\"` and `materialdesign:min=\"25\"` attributes.\n\n######Slider\n![Slider](images\u002Fslider.png)\n\n\n```xml\n\u003Ccom.gc.materialdesign.views.Slider\n                android:id=\"@+id\u002Fslider\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:max=\"50\"\n                materialdesign:min=\"0\"\n                 \u002F>\n```\n\n######Slider with number indicator\n![Slider with number indicator](images\u002Fslider_with_number_indicator.png)\n\n\n```xml\n\u003Ccom.gc.materialdesign.views.Slider\n                android:id=\"@+id\u002Fslider\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:max=\"50\"\n                materialdesign:min=\"0\"\n                materialdesign:showNumberIndicator=\"true\"\u002F>\n```\n\n##Widgets\n\n####SnackBar\n\n![Snackbar](images\u002Fsnackbar.png)\n\n\n```java\nSnackBar snackbar = new SnackBar(Activity activity, String text, String buttonText, View.OnClickListener onClickListener);\nsnackbar.show();\n```\n\n> If you don't want to show the button, put `null` in `buttonText` attribute\n\n####Dialog\n\n![Dialog](images\u002Fdialog.png)\n\n```java\nDialog dialog = new Dialog(Context context,String title, String message);\ndialog.show();\n```\n\n>You can set the accept and cancel button on the event listener or change it's text\n>```java\n> \u002F\u002F Set accept click listenner\n>dialog.setOnAcceptButtonClickListener(View.OnClickListener onAcceptButtonClickListener);\n> \u002F\u002F Set cancel click listenner\n>dialog.setOnCancelButtonClickListener(View.OnClickListener onCancelButtonClickListener);\n> \u002F\u002F Acces to accept button\n>ButtonFlat acceptButton = dialog.getButtonAccept();\n> \u002F\u002F Acces to cancel button\n>ButtonFlat cancelButton = dialog.getButtonCancel();\n>```\n\n####Color selector\n\n![Color selector](images\u002Fcolor_selector.png)\n\n```java\nColorSelector colorSelector = new ColorSelector(Context context,int intialColor, OnColorSelectedListener onColorSelectedListener);\ncolorSelector.show();\n```\n\n\n\n\n\n","MaterialDesignLibrary 是一个为 Android 2.2 及以上版本提供 Material Design 风格组件的库。它支持多种按钮样式（如平面按钮、矩形按钮和浮动按钮）、开关控件（如复选框和切换开关）以及进度指示器等，同时还包括 Snackbar、对话框和颜色选择器等常用小部件。这些组件不仅外观符合 Material Design 标准，而且通过自定义属性提供了高度可定制性。此项目特别适合需要在较旧版本 Android 系统上实现现代化 UI 设计的应用开发场景。使用时可通过 Gradle 添加依赖或直接导入项目作为库来集成这些美观且功能丰富的组件。",2,"2026-06-11 02:58:42","top_language"]