Giter Club home page Giter Club logo

material's Introduction

Material

Download Android Arsenal

MaterialLibrary is an Open Source Android library that back-port Material Design components to pre-Lolipop Android. MaterialLibrary's original author is Rey Pham.

Features

Demo

Get it on Google Play

Or try it here.

Getting Started

Add Gradle dependency:

dependencies {
   implementation 'com.github.rey5137:material:1.3.1'
}

AppCompat, CardView, RecyclerView library is required by Material library.

dependencies {
   compile 'androidx.appcompat:appcompat:1.0.0'
   compile 'androidx.cardview:cardview:1.0.0'
   compile 'androidx.recyclerview:recyclerview:1.0.0'
}

Now you can use any widget in com.rey.material.widget package as you wish. For styling, please view Wiki. Note that default style of widgets depend on theme of AppCompat. Here is an example:

     <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->

        <!-- colorPrimary is used for the default action bar background -->
        <item name="colorPrimary">@color/colorPrimary</item>

        <!-- colorPrimaryDark is used for the status bar -->
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>

        <!-- colorAccent is used as the default value for colorControlActivated
             which is used to tint widgets -->
        <item name="colorAccent">@color/colorAccent</item>

        <!-- You can also set colorControlNormal, colorControlActivated
             colorControlHighlight & colorSwitchThumbNormal. -->
    </style>

Donation

You can support the project and thank the author for his hard work.

Click here to lend your support to: Support Material Library project. and make a donation at pledgie.com !

PayPal

Contributing

Want to contribute? You are welcome! Note that all pull request should go to dev branch.

Developed By

License

Copyright 2015 Rey Pham.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

material's People

Contributors

alexsorokoletov avatar ardacebi avatar ddello32 avatar mrnorouzi avatar rey5137 avatar thomas76 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  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

material's Issues

Problem in Demo app

Hi, I've installed the Demo app, but some problem happened.

  1. In Android 5.0, all the text in dialog vanish, but it's OK in 4.4 (you can check the following 2nd photo)
    11096938_943655545679951_2108684416_o jpg
  2. In Android 4.4, the button in actionbar vanishes (in my case, it's refresh button), it's find in 5.0.
    11028656_943655905679915_139509241_o jpg

I think this may be the theme or style problem. Thank you again.

NullPointer while Trying to use the progress indicator

Copying the code from the sample app

    <com.rey.material.widget.ProgressView
        android:id="@+id/progress_wheel"
        android:layout_width="32dp"
        android:layout_height="32dp"
        app:pv_autostart = "true"
        app:pv_circular="true"
        app:pv_progressStyle="@style/CircularProgressDrawableStyle"
        app:pv_progressMode="indeterminate"/>

I tried to wrap it in a FrameLayout (just in case) like it is done in the sample app to no avail. Any idea what's going on?

and still getting this:

04-02 18:33:48.550    1670-1670/info.androidz.horoscope E/AndroidRuntimeFATAL EXCEPTION: main
    java.lang.NullPointerException
            at com.rey.material.widget.ProgressView.getProgressMode(ProgressView.java:110)
            at com.rey.material.widget.ProgressView.onAttachedToWindow(ProgressView.java:96)
            at android.view.View.dispatchAttachedToWindow(View.java:11755)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.addViewInner(ViewGroup.java:3417)
            at android.view.ViewGroup.addViewInLayout(ViewGroup.java:3354)
            at android.view.ViewGroup.addViewInLayout(ViewGroup.java:3335)
            at android.support.v4.view.ViewPager.addView(ViewPager.java:1307)
            at android.view.ViewGroup.addView(ViewGroup.java:3194)
            at android.view.ViewGroup.addView(ViewGroup.java:3170)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:968)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499)
            at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:488)
            at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
            at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
            at android.view.View.measure(View.java:15172)

Slider: fromUser feature needed

The signature of OnPositionChangeListener method is

void onPositionChanged(Slider slider, float v, float v2, int i, int i2)

Really needed feature to determine if the progress change is from user or not. Why won't you stick to the API introduced by android team, like in OnSeekBarChangeListener?

How to apply ripple effect to Buttons?

Hey thanks for this library. I have a little issue. I downloaded the demo app from google play and took a look at your repository.
The only thing that is not working is the ripple effect on the buttons.

This is the xml for the buttons:

<com.rey.material.widget.Button
        android:id="@+id/add_text_btn"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:text="@string/add_deal_fragment_select_from_special_items"
        android:textAppearance="@style/Base.TextAppearance.AppCompat.Button"
        app:ripple="@style/FlatWaveColorButtonRippleStyle"
        app:delayClick="false"
        android:layout_marginBottom="8dp"/>

This is the styles xml:

<style name="FlatWaveColorButtonRippleStyle" parent="Material.Drawable.Ripple.Wave.Light">
    <item name="rd_rippleColor">#a0757171</item>
    <item name="rd_cornerRadius">4dp</item>
</style>

The problem is that the ripple effect does not show up. Could someone please help me here?

How to have full Width button with ripple effect till end ?

Hi,

I am trying to put a button with full screen width in my application. But, ripple effect is only till a bit but not to the complete button.

How can I achieve that with this library ?

Also, how to programatically change the button colors with same ripple efffect ?

Inflating Error in XML!

I get this error when I want use your library in eclipse:

04-17 03:53:39.139: E/AndroidRuntime(13742): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.may3am.video/com.may3am.video.MainActivity}: android.view.InflateException: Binary XML file line #28: Error inflating class com.rey.material.widget.ProgressView 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2394) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2452) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.ActivityThread.access$900(ActivityThread.java:172) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1302) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.os.Handler.dispatchMessage(Handler.java:102) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.os.Looper.loop(Looper.java:136) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.ActivityThread.main(ActivityThread.java:5586) 04-17 03:53:39.139: E/AndroidRuntime(13742): at java.lang.reflect.Method.invokeNative(Native Method) 04-17 03:53:39.139: E/AndroidRuntime(13742): at java.lang.reflect.Method.invoke(Method.java:515) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 04-17 03:53:39.139: E/AndroidRuntime(13742): at dalvik.system.NativeStart.main(Native Method) 04-17 03:53:39.139: E/AndroidRuntime(13742): Caused by: android.view.InflateException: Binary XML file line #28: Error inflating class com.rey.material.widget.ProgressView 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.createView(LayoutInflater.java:626) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:350) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.Activity.setContentView(Activity.java:2031) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.may3am.video.MainActivity.onCreate(MainActivity.java:94) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.Activity.performCreate(Activity.java:5451) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2358) 04-17 03:53:39.139: E/AndroidRuntime(13742): ... 11 more 04-17 03:53:39.139: E/AndroidRuntime(13742): Caused by: java.lang.reflect.InvocationTargetException 04-17 03:53:39.139: E/AndroidRuntime(13742): at java.lang.reflect.Constructor.constructNative(Native Method) 04-17 03:53:39.139: E/AndroidRuntime(13742): at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.view.LayoutInflater.createView(LayoutInflater.java:600) 04-17 03:53:39.139: E/AndroidRuntime(13742): ... 24 more 04-17 03:53:39.139: E/AndroidRuntime(13742): Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 04-17 03:53:39.139: E/AndroidRuntime(13742): at android.content.res.TypedArray.getColor(TypedArray.java:327) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.rey.material.drawable.CircularProgressDrawable$Builder.<init>(CircularProgressDrawable.java:550) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.rey.material.drawable.CircularProgressDrawable$Builder.<init>(CircularProgressDrawable.java:536) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.rey.material.widget.ProgressView.applyStyle(ProgressView.java:70) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.rey.material.widget.ProgressView.init(ProgressView.java:51) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.rey.material.widget.ProgressView.<init>(ProgressView.java:47) 04-17 03:53:39.139: E/AndroidRuntime(13742): at com.rey.material.widget.ProgressView.<init>(ProgressView.java:35) 04-17 03:53:39.139: E/AndroidRuntime(13742): ... 27 more

DatePicker scrolling issue

If you open a datepicker provided by the library, and you click within the dialog but outside the number fields, when you try scroll the picker again it gets scrolled off screen instead of normal behavior. I attached two videos with visible touches, to illustrate it better.

https://youtu.be/UmH4QCUNZ7k

http://youtu.be/SoLKIO6sNFU

Reproduced on Nexus 5, 5.1

Could not reproduce on pre-lollipop devices.

EditText Rendering Problems

I am trying to use EditText and i get error Rendering Problems

Error
Couldn't find theme resource ?attr/colorAccent for the current theme

java.lang.NumberFormatException: Color value '?attr/colorAccent' must start with #
    at com.android.layoutlib.bridge.impl.ResourceHelper.getColor(ResourceHelper.java:72)
    at android.content.res.BridgeTypedArray.getColorStateList(BridgeTypedArray.java:312)
    at com.rey.material.widget.EditText.applyStyle(EditText.java:154)
    at com.rey.material.widget.EditText.init(EditText.java:118)
    at com.rey.material.widget.EditText.<init>(EditText.java:100)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:379)
    at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:99)
    at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:172)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:132)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:385)

My layout_dialog_custom.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <com.rey.material.widget.EditText

        style="@style/Material.Widget.EditText.Light"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/abc_primary_text_material_light"
        android:hint="Signal strength"
        android:text="Excellent"
        app:et_dividerHeight="0dp"
        android:textColorHint="@color/abc_secondary_text_material_light"
        app:et_supportMode="none"
        android:paddingTop="8dp"

    />
    <com.rey.material.widget.EditText
        style="@style/Material.Widget.EditText.Light"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/abc_primary_text_material_light"
        android:hint="Signal strength"
        android:text="Excellent"
        app:et_dividerHeight="0dp"
        app:et_supportMode="none"
        android:paddingTop="8dp"
        />
   <com.rey.material.widget.EditText
        style="@style/Material.Widget.EditText.Light"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/abc_primary_text_material_light"
        android:hint="Capabilities"
        android:text="WPA-PSK2"
        app:et_dividerHeight="0dp"
        app:et_supportMode="none"
        android:paddingTop="8dp"
        />
    <com.rey.material.widget.EditText
        style="@style/Material.Widget.EditText.Light"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/abc_primary_text_material_light"
        android:text="WPA-PSK2"
        app:et_dividerHeight="0dp"
        app:et_supportMode="charCounter"
        android:paddingTop="8dp"
        android:textColorHint="@color/abc_secondary_text_material_light"
        android:hint="Password"
        android:inputType="textPassword"
        />
    <com.rey.material.widget.CheckBox
        style="@style/Material.Drawable.CheckBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show password"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
        android:textColor="@color/abc_primary_text_material_light"
        android:gravity="center_vertical"
        android:paddingLeft="24dp"
        android:layout_marginTop="8dp"
        android:checked="false"
        android:id="@+id/showPassword"
        />

</LinearLayout>

Does anyone know how to fix it?

SimpleDialog problem

((SimpleDialog.Builder)builder).message(message.getFrom()+":"+message.getBody())
.title("Invitation")
.positiveAction("Join")
.negativeAction("Reject")
.contentView(R.layout.invitation_dialog);

If i use the code above,it will crash,logat cat show this:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
at android.view.ViewGroup.addViewInner(ViewGroup.java:3547)
at android.view.ViewGroup.addView(ViewGroup.java:3418)
at android.view.ViewGroup.addView(ViewGroup.java:3363)
at android.view.ViewGroup.addView(ViewGroup.java:3339)
at com.rey.material.app.Dialog.contentView(Dialog.java:546)
at com.rey.material.app.SimpleDialog.contentView(SimpleDialog.java:115)
at com.rey.material.app.Dialog.addContentView(Dialog.java:608)
at com.fan.newlife.MainActivity$2.onBuild(MainActivity.java:168)
at com.rey.material.app.Dialog$Builder.build(Dialog.java:1020)
at com.rey.material.app.DialogFragment.onCreateDialog(DialogFragment.java:65)
at com.rey.material.app.DialogFragment.onCreateDialog(DialogFragment.java:13)
at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:307)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:454)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5326)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:848)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615)
at dalvik.system.NativeStart.main(Native Method)

But when i use this :
builder.title("Invitation")
.positiveAction("Join")
.negativeAction("Reject")
.contentView(R.layout.invitation_dialog);

It is ok.

But i couldn't use the propeties of the SimpleDialog.It took me a long time to find out the crash reason. T_T

RadioButtons in RadionGroup

I have a strange issue here. I put a few Radiobuttons from the library inside a RadioGroup. The aim was that only one Radiobutton could be selected at a time. Unfortunately this is not working. Did somebody experience the same issue or could help me out?

Cannot be used

This library is just awesome! i really like it,but when i try to run ,the app crashed.
my device: lg g2 pro 4.4.2
Whether or not to support the version before the lollipop?

Click in empty space of DatePicker distorts its display

Hi,

I don't know if it is the same bug of #12. When I use DatePicker, if I click on day or button, it's work, but when I click in empty space (no day, divider or just a next to the buttons), it has a strange behavior : screenshot_2015-04-13-17-09-51

I use this code :

DatePickerDialog.Builder builder = new DatePickerDialog.Builder(
    R.style.DatePicker,
    current.getDayOfMonth(),
    current.getMonthOfYear() - 1,
    current.getYear(),
    1,
    0,
    current.getYear() + 2,
    value.getDayOfMonth(),
    value.getMonthOfYear() - 1,
    value.getYear()) {

    @Override
    public void onPositiveActionClicked(DialogFragment fragment) {
        DatePickerDialog picker = ((DatePickerDialog) fragment.getDialog());
        value = new DateTime(picker.getYear(), picker.getMonth() + 1, picker.getDay(), value.getHourOfDay(), value.getMinuteOfHour());
        textView.setText(value.toString(DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")));
        super.onPositiveActionClicked(fragment);
    }

    @Override
    public void onNegativeActionClicked(DialogFragment fragment) {
        super.onNegativeActionClicked(fragment);
    }

};

builder.positiveAction("Valider");
builder.negativeAction("Annuler");

DialogFragment.newInstance(builder).show(manager, null);

And my style for this DatePicker :

<style name="DatePicker" parent="Material.Widget.DatePicker">
    <item name="di_negativeActionTextColor">@color/material_blue</item>
    <item name="di_positiveActionTextColor">@color/material_blue</item>
    <item name="dp_selectionColor">@color/material_blue</item>
    <item name="di_backgroundColor">@color/material_grey</item>
    <item name="dp_headerSecondaryColor">@color/material_dark_blue</item>
</style>

I use the latest version of the library (1.1.0) and my phone is a One Plus One.

I hope you can help me,

Have a nice day

Slider

I would be very useful be able to set a listener for value change on Slider.
(for example "setOnProgressChangeListener(..)", "setOnValueChangeListener(..)")

Thanks in advance

[slider bug] It can not drag to the max value

<com.rey.material.widget.Slider
style="@style/Material.Widget.Slider.Discrete"
android:id="@+id/change_dialog_pitch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingLeft="10dp"
android:paddingRight="10dp"
app:sl_stepValue="1"
app:sl_maxValue="100"
app:sl_minValue="-100"
app:sl_value="100"
app:sl_primaryColor="@color/seekBar"
app:sl_secondaryColor="@color/seekBar"
/>

neutralActionClickListener not set in DialogFragment

negativeActionClickListener(mActionListener) is invoked twice, as below:

@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    com.rey.material.app.Dialog dialog = mBuilder == null ? new Dialog(getActivity()) : mBuilder.build(getActivity());
    dialog.positiveActionClickListener(mActionListener)
            .negativeActionClickListener(mActionListener)
            .negativeActionClickListener(mActionListener);
    return dialog;
}

demo crashes on date picker dialogs

Hey,
I just discovered this neat library. Just letting you know that demo app on play store crashes when i click on either of the 2 date picker buttons (date light and date dark buttons) You may want to check it out.
I'm using lg g pad 8.3 tablet android 4.4.2

Demo application crashes

The demo application crashes in dialogs tab, after clicking [DATE (LIGHT)]

Device: Samsung Galaxy S, Android 2.3

E/AndroidRuntime( 1858): java.lang.ArrayIndexOutOfBoundsException
E/AndroidRuntime( 1858):        at com.rey.material.widget.DatePicker$MonthView.onDraw(DatePicker.java:547)
E/AndroidRuntime( 1858):        at android.view.View.draw(View.java:6933)
E/AndroidRuntime( 1858):        at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
E/AndroidRuntime( 1858):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
E/AndroidRuntime( 1858):        at android.widget.AbsListView.dispatchDraw(AbsListView.java:1604)
E/AndroidRuntime( 1858):        at android.widget.ListView.dispatchDraw(ListView.java:3210)
E/AndroidRuntime( 1858):        at android.support.v7.internal.widget.ListViewCompat.dispatchDraw(ListViewCompat.java:102)
E/AndroidRuntime( 1858):        at android.view.View.draw(View.java:6936)
E/AndroidRuntime( 1858):        at android.widget.AbsListView.draw(AbsListView.java:3022)
E/AndroidRuntime( 1858):        at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
E/AndroidRuntime( 1858):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
E/AndroidRuntime( 1858):        at android.view.View.draw(View.java:6936)
E/AndroidRuntime( 1858):        at android.widget.FrameLayout.draw(FrameLayout.java:357)
E/AndroidRuntime( 1858):        at com.rey.material.app.DatePickerDialog$DatePickerLayout.draw    (DatePickerDialog.java:540

Demo app crash when select contacts with unicode characters

This library is indeed really amazing. I just installed the demo app and gave it a try, when I selected a contact with unicode characters like Vietnamese in the name, the app crashed. I haven't built the app from source code so cannot give you more information on the crash.

The ListView shows null pointer exception

The listview added in an xml file shows a null pointer exception.

java.lang.NullPointerException
at android.support.v7.internal.widget.ListViewCompat.drawableStateChanged(ListViewCompat.java:91)
at android.view.View.refreshDrawableState(View.java:16032)
at android.view.View.dispatchAttachedToWindow(View.java:13546)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2688)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2695)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2695)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2695)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2695)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:422)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:321)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:708)
at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:697)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932)
at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:697)
at com.android.tools.idea.rendering.RenderService.render(RenderService.java:816)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:646)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:82)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:589)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:584)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:327)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Add more specific usage description

Hi, thank for this nice library. Would you like to add specific usage description for each component, such as xml code??

<material.Button
    some_custom_attribute="value" />

Thank you.

Dialog crash

When i try to create a Dialog.

import com.rey.material.app.Dialog;
Dialog dialog = new Dialog(context);

The error is in this line

Dialog dialog = new Dialog(context);

java.lang.RuntimeException: Unable to start activity android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path): TypedValue{t=0x2/d=0x7f0101af a=3}

     Caused by: android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path): TypedValue{t=0x2/d=0x7f0101af a=3}
            at android.content.res.Resources.loadColorStateList(Resources.java:2963)
            at android.content.res.TypedArray.getColorStateList(TypedArray.java:343)
            at com.rey.material.app.Dialog.applyStyle(Dialog.java:190)
            at com.rey.material.app.Dialog.init(Dialog.java:144)
            at com.rey.material.app.Dialog.<init>(Dialog.java:100)
            at com.rey.material.app.Dialog.<init>(Dialog.java:87)
            at com.rupture.jairsteve.rupture.wlan.onCreate(wlan.java:107)

Does anyone know how to fix it? or is it a bug?

spinner rtl support

i want to use spinner in arabic
it's need arrow to to be in left and items gravity to right

EditText et_supportMaxChars

Hi Rey
I come from Taiwan, Using Chinese.

In Chinese, one word = 2 byte

et_supportMaxChars is count EditText Length, not EditText.toString().getBytes()

How can i do when Use Chinese & English mix

tag it

This project was submitted at VersionEye. Somebody wants to get notified as soon you guys create a new tag. Why not starting now with a first '0.1.0' tag ala semantic versioning? ;-)

Slider wiki typo

Hi!
You have typo on Slider Wiki page: com.rey.material.widget.Silder (Silder instead of Slider).
And one more thing: how can i set progress listener for that Slider? Didn't found any specified method in class...

Proper documentation (Javadoc)

There is no documentation for listeners for people who add the library from maven:

Example:
image

I had to check the code on the repo to see what they really mean.

Slider min and max value

Hi, I'm have a problem with Slider. Why min and max values , not possible change from code? I have two sliders on the view, and them min a max values is interrelated.

Floating label not appearing

Floating label is not appearing when you delete character and type again very fast. From what i can tell reason is that animation has not ended yet and state of the label is not set to hidden so when you type again it is still set to showing and so it is not shown again.

Navigation Hamburger Changes state to back arrow

Hi,

I'm using the same navigation drawer as in the demo. Not using viewpager though.

Whenever I switch to the third fragment after clicking on the NavigationDrawer ListItem, the navigation hamburger changes to back arrow and doesn't change its state on Drawer close.

Could you please guide me how to solve this?

Thank you

ProgressView in Activity

like this code
<com.rey.material.widget.ProgressView
android:id="@+id/progress_pv_circular"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
app:pv_autostart="true"
app:pv_circular="true"/>

@OverRide
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_progress);
ProgressView pv_circular = (ProgressView)findViewById(R.id.progress_pv_circular);
pv_circular.start();
}
in new activity can't run, but, in your demo ProgressFragment it's good

what need i do?

dismiss(), disable Ripple, custom Title Typeface, Icon...

  1. How to dismiss() when positive button is clicked?
  2. How do i overwrite function what happens when Positive button is clicked? Dialog.Builder .onPositiveActionClicked() expects fragment which i didn't get why.
    Also please write more explanation for dialog styles, for example what is range of "di_dimAmount"., what this "di_titleTextAppearance" takes as parameter..? (you can put one .xml example with whole style attributes)

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.