ActionCardView

Additional

Language
Java
Version
N/A
Created
Aug 11, 2016
Updated
Feb 17, 2017 (Retired)
Owner
Adam McNeilly (AdamMc331)
Contributor
Adam McNeilly (AdamMc331)
1
Activity
Badge
Generate
Download
Source code

ActionCardView Library

This library is for a specialized CardView designed to highlight a specific action that can be completed.

Usage

To have access to the library, add the dependency to your build.gradle:

compile 'com.adammcneilly:actioncardview:1.0.1'

Sample

Below is a screenshot of what a sample ActionCardView may look like:

ActionButton

At the bottom of the ActionCardView is a button bar the displays the action buttons. These buttons are right justified, but will be displayed left to right in the order that they are entered. In other words, the first button you create will be the left most button on the bar.

There are two ways to implement the action button. First is via XML:

<com.adammcneilly.ActionCardView
    ...>

    <com.adammcneilly.ActionButton
        android:id="@+id/button_one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="One"
        android:textColor="@color/colorAccent"/>

<com.adammcneilly.ActionCardView/>

Or programmatically using my ActionButton.Builder class:

ActionButton button = new ActionButton.Builder(this)
        .setText("Two")
        .setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(view.getContext(), "Clicked button two!", Toast.LENGTH_SHORT).show();
            }
        })
        .setTextColor(ContextCompat.getColor(this, R.color.colorAccent))
        .create();

Adding a click listener

You may have noticed that when you create a button programmatically you can easily add a click listener. To do this for one that was put in via xml, call the addActionClickListener method:

actionCardView.addActionClickListener(R.id.button_one, new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(view.getContext(), "Clicked button one!", Toast.LENGTH_SHORT).show();
            }
        });

Just so you're aware - if an invalid resource identifier is passed or the resource is not found, the library will simply ignore it to avoid your app crashing.

ActionCardView

The bulk of this project boils down to the ActionCardView itself, which can be laid out in the XML like this:

<com.adammcneilly.ActionCardView
        android:id="@+id/action_card"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        app:cardTitle="Test Title"
        app:cardDescription="Test Description">

        <com.adammcneilly.ActionButton
            android:id="@+id/button_one"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="One"
            android:textColor="@color/colorAccent"/>

    </com.adammcneilly.ActionCardView>

Note above that there are custom attributes for the card title and description. The following attributes can be used to modify parts of the ActionCardView:

  • cardTitle
  • cardTitleTextColor
  • cardTitleBackgroundColor
  • cardDividerColor
  • cardDividerHeight
  • cardDescription
  • cardDescriptionTextColor
  • cardDescriptionBackgroundColor

Credits & Contact

This library was created by Adam McNeilly.

License

The ActionCardView library is available under the MIT License. You are free to modify and enhance it in any way. If you submit a pull request, please add your name into the credits section! :)