Android Library to build a UI Card

Related tags

UI/UX cardslib
Overview

Card Library

Travis master: Build Status Travis dev: Build Status

Card Library provides an easy way to display a UI Card using the Official Google CardView in your Android app.

Before using this library I recommend that you check out the new Google Material Guidelines.Don't over cardify your UI.

Screen

Examples

Screen

  • Sample application: The demo is a showcase of the functionality of the library.

    Get it on Google Play

  • Extras application: The demo-extras contains some examples of integration with other libraries

    Get it on Google Play

Support

Join the Google+ Community:

Join the Google+ Community

a place to discuss the library, share screenshots, ask for tips, talk with the author....

If you would like, you can support my work, donating through the demo app.

Doc

See the Card Library Guide to know all card library features and all customizations. The Guide provides an extensive doc, with all tips and full examples. Don't miss it.

Setup

Card Library is pushed to Maven Central as an AAR, so you just need to add the following dependency to your build.gradle.

dependencies {
    //Core
    compile 'com.github.gabrielemariotti.cards:cardslib-core:2.1.0'
    
    //Optional for built-in cards
    compile 'com.github.gabrielemariotti.cards:cardslib-cards:2.1.0'
            
    //Optional for RecyclerView
    compile 'com.github.gabrielemariotti.cards:cardslib-recyclerview:2.1.0'
      
    //Optional for staggered grid view
    compile 'com.github.gabrielemariotti.cards:cardslib-extra-staggeredgrid:2.1.0'
     
    //Optional for drag and drop
    compile 'com.github.gabrielemariotti.cards:cardslib-extra-dragdrop:2.1.0'
    
    //Optional for twoway  (coming soon)
    //compile 'com.github.gabrielemariotti.cards:cardslib-extra-twoway:2.1.0'
    
}

If you would like to use the last v1 stable version you can use:

dependencies {
    //Core card library
    compile 'com.github.gabrielemariotti.cards:library:1.9.1'

    //Extra card library, it is required only if you want to use integrations with other libraries
    compile 'com.github.gabrielemariotti.cards:library-extra:1.9.1'
}

ChangeLog

Acknowledgements

Credits

Author: Gabriele Mariotti ([email protected])

Follow me on Google+ Follow me on Twitter Follow me on LinkedIn

License

Copyright 2013-2014 Gabriele Mariotti

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.

Google and the Google Maps logo are registered trademarks of Google Inc., used with permission.

Comments
  • setupInnerViewElements on Scroll

    setupInnerViewElements on Scroll

    I'm having some trouble and i think its caused because whenever I scroll on the view the method setupInnerViewElements get called again everytime for every card

    My example is I have a bunch of cards with seekbars and a textview to show the value of it, when i create the cards Ive send them the max and initial progress for it and it displays ok, but when i start scrolling the texview start showing random values without a seekbar change.

    Any reason of why are you calling setupInnerViewElements when you scroll through the view everytime ?

    opened by BradleyRL 17
  • Thumbnail shifts after swiping card

    Thumbnail shifts after swiping card

    Hi,

    I'm using Card List View with swipe to dismiss & also used a class for displaying thumbnail which extends card thumbnail. Every time I swipe a card the thumbnail of next card is applied to previous card. Thanks in advance.

    waitForReply 
    opened by AkshayChordiya 16
  • Card header not displaying text

    Card header not displaying text

    Hello,

    I fairly new to android development (6 months), and I am just having some trouble getting the card header to display text. Any help will be appreciated. Im using the CARDWITHLIST inside a fragment.

    Thanks, Karsten.

    card header card header code

    invalid 
    opened by Karsten12 15
  • Indexable Card List View issue

    Indexable Card List View issue

    Hi guys,

    I've successfully implemented Indexable List View to Card List View. :+1: Check the image below.

    Indexable List View Library Link : https://github.com/woozzu/IndexableListView

    Everything works fine except the cards aren't getting clicked nor the card popup. :-1:

    Can someone help to fix it ???? I'm new to Github but I can upload the files needed for Indexable Card List View. Thanks in advance :100:

    device-2014-01-13-213528

    enhancement 
    opened by AkshayChordiya 15
  • XML problem with

    XML problem with "card:list_card_layout_resourceID"

    Hi Gabriele, I'm trying to customize a Card in a CardListView but I'm having a problem with card:list_card_layout_resourceID, that's this attribute, despite of the others like card:card_layout_resourceID, not working to reference with another layout. I followed the example in the docs...

    Thanks for your help.

    Merry Christmas :)

    question 
    opened by geolyth 15
  • Multi-line TextView has improper height

    Multi-line TextView has improper height

    In the stock demo app, in the fragment defined by ListExpandCardFragment, is seems as though the heights of TextViews that have wrapped more than one line of text are incorrect.

    Expectation: TextView height grows as text wraps around Observation: TextView height remains constant

    bug fixed-in-development 
    opened by adlerjohn 14
  • ImageLoader Does not load the image

    ImageLoader Does not load the image

    My wifi connection is active, I can browse the internet. I included all the the permission in the manifest file.

    But for some reason the Imageloader together with cardslib is not displaying the image, I chose a smaller image for it to be downloaded quickly.

    XML:

    Java: @Override public void setupInnerViewElements(ViewGroup parent, View view) {

            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.beverages2);
    
            loader = ImageLoader.getInstance();
    
            if(loader.isInited()==false){
    
    
            loader.init(ImageLoaderConfiguration.createDefault(getActivity()));
            options2 = new DisplayImageOptions.Builder()
    
             .showImageOnFail(R.drawable.abs__spinner_48_inner_holo) // resource or drawable .showStubImage(bitmap)
             .showImageForEmptyUri(R.drawable.abs__spinner_48_inner_holo) // resource or drawable
             .cacheInMemory(true)
             .build();
    
            }
    
            //String url = "http://jinisyssoftware.com/wp-content/themes/jinisys/images/header-logo.png";
            TextView txt = (TextView)view.findViewById(R.id.card_header_inner_simple_title);
            txt.setText(mSubName);
    
            //ImageView i = (ImageView)view.findViewById(R.id.imageView1);
    
    
            loader.handleSlowNetwork(true);
            loader.displayImage("http://jinisyssoftware.com/wp-content/themes/jinisys/images/header-logo.png", 
                    (ImageView)view.findViewById(R.id.imageView1), options2);
    

    }

    opened by lordzden 14
  • When loading images async I get duplicated images.

    When loading images async I get duplicated images.

    When I try to load images async in the setupInnerViewElements method then as soon as I start scrolling down the images appear duplicated in the different cards.

    Code that I use in the setupInnerViewElements method:

    // Pictures
    if (!imageUrl.equals("")) {
        ImageView imgView = new ImageView(view.getContext());
        mPictureContainer.addView(imgView);
        Picasso.with(getContext()).load(imageUrl).into(imgView);
    }
    

    Output (textual representation): Card 1:

    • Image of Card 1 Shows Card 2:
    • Image of Card 1 shows
    • Image of Card 2 shows Card 3:
    • Image of Card 1 shows
    • Image of Card 2 shows
    • Image of Card 3 shows

    and so on.

    I got no idea if this bug is related to this library or to the Picasso library, I think this is happening because the view gets re-used. Thanks for helping me.

    opened by XavierGeerinck 13
  • Click listener called when swiping

    Click listener called when swiping

    There is a fairly noticeable issue where the click listener is called if you begin a swipe on a card and then stop. It only seems to happen in CardListView's (or at least it doesn't seem to do it in CardView's).

    As a simple example you can see it in the demos on the List base with different inner layouts fragment on the 2nd card. If you put your finger down, imediatly move it to one side to start a swipe and then after about half a second lift off you should see the click listener toast pop up.

    It only happens some of the time when you get it just right.

    In my opinion this is a bug because as soon as the card starts moving to either side or fading a click should never be fired. As it currently stands a user could begin a swipe, realise it's not what they want to do, lift off and then end up performing an action accidentally on that card.

    I've not looked at the code at all, but I'd expect that fixing this would be a case of adding a flag to the swipe gesture listener and never firing a click when that flag is set. The flag would then just be reset if a swipe gesture is canceled.

    Let me know if you need anymore detail, and thanks for a great library :+1:

    bug fixed-in-development 
    opened by matt-oakes 13
  • CardRecyclerView with MaterialLargeImageCard

    CardRecyclerView with MaterialLargeImageCard

    Hi, I want to use CardRecyclerView wirh a material card, using the provided layout. It show the card, but not the content, can you help me?

    public class TripContents extends Activity{
        CardRecyclerView mRecyclerView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_trip_contents);
    //        recList = (RecyclerView) findViewById(R.id.cardList);
    //        recList.setHasFixedSize(true);
    //        LinearLayoutManager llm = new LinearLayoutManager(this);
    //        llm.setOrientation(LinearLayoutManager.VERTICAL);
    //        recList.setLayoutManager(llm);
    
    
    
    
            final ArrayList<Card> cards = new ArrayList<Card>();
    
            final CardArrayRecyclerViewAdapter mCardArrayAdapter = new CardArrayRecyclerViewAdapter(this, cards);
            mRecyclerView = (CardRecyclerView) findViewById(R.id.cardList);
            mRecyclerView.setHasFixedSize(false);
            mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    
            if (mRecyclerView != null) {
                mRecyclerView.setAdapter(mCardArrayAdapter);
            }
    
    
            FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.attachToRecyclerView(mRecyclerView);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent i = new Intent(TripContents.this, AddTripContent.class);
                    TripContents.this.startActivity(i);
                }
            });
    
    
            ParseQuery<Trip_Content> query = ParseQuery.getQuery(Trip_Content.class);
            query.whereEqualTo("user", ParseUser.getCurrentUser());
            query.findInBackground(new FindCallback<Trip_Content>() {
                @Override
                public void done(List<Trip_Content> results, ParseException e) {
                    if (results.isEmpty()){
    
                        MaterialLargeImageCard c = new MaterialLargeImageCard(ApplicationContext.getAppContext());
                        c.setTitle("test");
                        c.setSubTitle("don't have contents");
    
    
                        cards.add(c);
                        mCardArrayAdapter.notifyDataSetChanged();
    
                    }else{
                        //add trip_content
                    }
    
    
                }
    
            });
    
    
        }
    }
    
    

    And this is the layout

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:fab="http://schemas.android.com/apk/res-auto"
        xmlns:card="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin">
        <!--<android.support.v7.widget.RecyclerView
            android:id="@+id/cardList"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />-->
        <it.gmariotti.cardslib.library.recyclerview.view.CardRecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            card:card_layout_resourceID="@layout/native_material_largeimage_text_card"
            style="@style/card_external"
            android:id="@+id/cardList"/>
    
        <com.melnykov.fab.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:layout_margin="16dp"
            android:src="@drawable/ic_add_white_24dp"
            fab:fab_colorNormal="@color/myAccentColor"
            fab:fab_colorPressed="@color/bkg_card"
            android:layout_alignParentBottom="true"
            android:layout_alignRight="@+id/cardList"
            android:layout_alignEnd="@+id/cardList" />
    </RelativeLayout>
    
    

    And what it show screenshot_2015-01-06-10-58-04

    waitForReply 
    opened by andreac 12
  • Cards do not get added

    Cards do not get added

    Hi,

    I've got another problem I just can't solve:

    I wanna add cards dynamically into a CardListView. The user can choose how many cards should be added and so far everything is fine. Now I implemented another feature, so the user can decide if all the cards of just the ones with a special content should be added.

    And here comes the strange part: If the user just wants to see the cards with the special content, somehow no card is added and the list remains empty (though there are some with the content for sure). If the user goes back and now clicks all cards to show, that works again. And if the user then goes back again and tries to display only the cards with the special content, now that works too.

    So if there have already been cards in the listview in the past, it works, but if it's the first time to add cards, it doesn't.

    Here is my code:

    for(int i = 0; i < vocCountTotal; i++) {
                int currentPos = i + vocIDs[0];
                vocabCards[i] = new CustomTestCard(this, R.layout.customcard_test_layout);
                if(_onlyBold) vocabCards[i].setVocID(vocIDs[0], currentPos, vocCountTotalBold);
                else vocabCards[i].setVocID(vocIDs[0], currentPos, vocCountTotal);
                vocabCards[i].setEnglishToGerman(_englishToGerman);
                vocabCards[i].setOldTranslations(_translations);
    
                if(_onlyBold) {
                    if(!Vocab_store.vocabulary[currentPos][11].contains("unimportant")) {
                        cards.add(vocabCards[i]);
                    }
                } else {
                    cards.add(vocabCards[i]);
                }
            }
    

    Do you have an idea why that is so and how I can fix it?

    Greetz, Ben

    waitForReply 
    opened by ben04 12
  • Improve GRADLE build Performance

    Improve GRADLE build Performance

    Parallel builds. This project contains multiple modules. Parallel builds can improve the build speed by executing tasks in parallel. We can enable this feature by setting org.gradle.parallel=true.

    Configuration on demand. Configuration on demand tells Gradle to configure modules that only are relevant to the requested tasks instead of configuring all of them. We can enable this feature by setting org.gradle.configureondemand=true.

    gradle caching. Shared caches can reduce the number of tasks you need to execute by reusing outputs already generated elsewhere. This can significantly decrease build times. We can enable this feature by setting org.gradle.caching=true.

    Gradle daemon. The Daemon is a long-lived process that help to avoid the cost of JVM startup for every build. Since Gradle 3.0, Gradle daemon is enabled by default. For an older version, you should enable it by setting org.gradle.daemon=true.

    ===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

    opened by hongdongni 0
  • Any recent forks?

    Any recent forks?

    Hello all,

    As I have seen this repo activity, there has not been much activity since 2015. Given that the workaround for disabling AAPT2 does not work with Android Studio 3.1, has anyone come up with a fork that tatgets the latest Android SDK?

    opened by Sparker0i 1
  • FixedCompilingIssues+more

    FixedCompilingIssues+more

    Fixed issue #566 opened 16 days ago by @gipsyblues +Upgraded to the latest available sdks & library as per the requirement of Android Studio Version. 3.0.3 +Refactored code, especially redundant Casting

    opened by oplarshad 1
  • FAILURE: Build failed with an exception.  * What went wrong: Execution failed for task ':library-core:processDebugResources'. > Unknown android attribute 'ForegroundLinearLayout'

    FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':library-core:processDebugResources'. > Unknown android attribute 'ForegroundLinearLayout'

    My cardslib build keeps failing throwing an exception at: library-core:processDebugResources'. > Unknown android attribute 'ForegroundLinearLayout'

    Within ForegroundLinearLayout.java I notice that "import it.gmariotti.cardslib.library.R;" the R is in red and all R.xxxx resources have the R also in red

    I am running Android Studio 3 and gradle version 3.0.1

    Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':library- core:processDebugResources'. Exception at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: com.android.builder.symbols.ResourceValuesXmlParseException: Unknown android attribute 'ForegroundLinearLayout' at com.android.builder.symbols.ResourceValuesXmlParser.parseDeclareStyleable( ) at com.android.builder.symbols.ResourceValuesXmlParser.parseChild(ResourceValuesXmlParser.java:261) at com.android.builder.symbols.ResourceValuesXmlParser.parse(ResourceValuesXmlParser.java:175) at com.android.builder.symbols.ResourceDirectoryParser.parseResourceDirectory(ResourceDirectoryParser.java:173) at com.android.builder.symbols.ResourceDirectoryParser.parseDirectory(ResourceDirectoryParser.java:119) at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:504) at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285) at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173) at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134) at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) ... 27 more

    Any help will be greatly appreciated My cardslib build keeps failing throwing an exception at: library-core:processDebugResources'. > Unknown android attribute 'ForegroundLinearLayout'

    Within ForegroundLinearLayout.java I notice that "import it.gmariotti.cardslib.library.R;" the R is in red and all R.xxxx resources have the R also in red

    I am running Android Studio 3 and gradle version 3.0.1

    Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':library- core:processDebugResources'. Exception at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: com.android.builder.symbols.ResourceValuesXmlParseException: Unknown android attribute 'ForegroundLinearLayout' at com.android.builder.symbols.ResourceValuesXmlParser.parseDeclareStyleable( ) at com.android.builder.symbols.ResourceValuesXmlParser.parseChild(ResourceValuesXmlParser.java:261) at com.android.builder.symbols.ResourceValuesXmlParser.parse(ResourceValuesXmlParser.java:175) at com.android.builder.symbols.ResourceDirectoryParser.parseResourceDirectory(ResourceDirectoryParser.java:173) at com.android.builder.symbols.ResourceDirectoryParser.parseDirectory(ResourceDirectoryParser.java:119) at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:504) at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285) at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173) at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134) at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) ... 27 more

    Any help will be greatly appreciated

    opened by gipsyblues 4
Releases(v.2.0.1)
  • v.2.0.1(Nov 12, 2014)

  • v.2.0.0(Nov 8, 2014)

    • LIB: Added the new CardViewNative! based on Google CardView (Learn how to migrate your cards)
    • LIB: New aar modules. [(doc)[(BUILD.md#including-in-your-project-with-gradle)
    • LIB-CARDS: New module with built-in cards.
    • LIB-CARDS: Material Cards (doc)
    • LIB-CARDS: Top Colored Cards (doc)
    • LIB-RECYCLERVIEW: Ner module with support for the new RecyclerView
    • LIB-RECYCLERVIEW: Added a CardRecyclerView and a CardArrayRecyclerViewAdapter (doc)
    • EXTRA-STAGGERED and EXTRA-DRAGDROP: split from old extra lib.
    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Aug 29, 2014)

    • LIB: Added a method to expand and collpase the card in programmatic way (doc)

    • LIB: Added a callback at the start of the expansion/collapsing animation (doc)

    • LIB: Added the ability to expand and collapse the card with a longClick (doc)

    • LIB: Added a method to add dinamically Sections to a SectionedCardAdapter (doc)

    • LIB: Added a feature to restrict card swipe direction (doc)

    • LIB-EXTRA: Updated the drap and drop list. Now you can drag over the card (doc)

    • LIB-EXTRA: Updated ListViewAnimations dependency to 3.1.0

      It contains a little BREAKING CHANGE on the mListView.setOnItemMovedListener. listener (doc)

    • DEMO: Added an example to expand/collapse action in programmatic way

    • DEMO-EXTRA: Updated all dependencies to last releases

    Source code(tar.gz)
    Source code(zip)
  • v.1.8.0(Jul 14, 2014)

    • LIB: Added a SectionedCardAdapter which allows to display a CardList with Sections (doc)
    • LIB: Added a parameter to customize the swipe action (doc)
    • LIB: Fixed the CAB feature with the ForegroundLinearLayout
    • DEMO: Added an example with SectionedCardAdapter
    Source code(tar.gz)
    Source code(zip)
  • v.1.7.3(Jun 20, 2014)

  • v.1.7.2(Jun 18, 2014)

    • Changed the visibility of theinit() method and its call.

    It contains a BREAKING CHANGE .* (doc)

    • Fixed the issue with Observer when the CardWithList works in a CardListView
    Source code(tar.gz)
    Source code(zip)
  • v.1.7.1(Jun 18, 2014)

  • v.1.7.0(Jun 18, 2014)

    • LIB: Added a new feature to display a list of items inside a Card (doc)

    • LIB: Added a feature to customize dynamically the undoBar message (doc)

      It contains a BREAKING CHANGE with UndoBar and UndoBarUIElements feature. Read the above link to migrate your code.

    • LIB-EXTRA: Updated Etsy-Grid dependency to 1.0.5

    • DEMO: Added a new example for Card with List

    • DEMO-Extra: Added a new example for Card with List integrated with WeatherLib

    • DEMO-Extra: Improved staggered grid examples.

    • DEMO-Extra: updated all libraries.

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(May 6, 2014)

    • LIB: Added a CardCursorMultiChoiceAdapter (doc)
    • LIB-EXTRA: Added a CardListDragDropView, a cardList with drag and drop support: (doc)
    • LIB-EXTRA: Added a new method to add external adapter different from CardGridStaggeredArrayAdapter (doc)
    • Added Travis CI support
    • DEMO: Added an example with CardCursorMultiChoiceAdapter
    • DEMO-Extra: Added an example with CardListDragDropView
    • DEMO-Extra: Added an example with CardGridStaggered + ListViewAnimation
    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Mar 21, 2014)

    • LIB-EXTRA: Added a CardGridStaggeredView (doc)
    • LIB: Added the chance to use a ForegroundLinearLayout in your Card (doc)
    • LIB: Added a feature to use a own OnScrollListener with CardListView and Swipe Action (doc)
    • LIB: Added the method ViewToClickToExpand.setupCardElement() to enable the expand/collapse action on the default card elements (doc)
    • LIB: Introduced a flag to disable the default broadcast after a bitmap is attached to an imageView in CardThumbnail (doc)
    • DEMO-Extra: Added examples with StaggeredGridView
    • DEMO-Extra: Added an example with a List with expand-inside.(source)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.2(Mar 7, 2014)

  • v1.4.1(Mar 6, 2014)

  • v1.4.0(Mar 2, 2014)

    • LIB: expand/collapse methods are completely new.(Fixed issues with smooth scroll, proper height measure, parent lose when expanded view isn't entirely visible...)
    • LIB: Added a feature to add the PopupMenu in CardHeader entirely from code (doc)
    • DEMO: Added an example with PopupMenu in CardHeader built programmatically (in Header screen)
    • DEMO-Extras: updated all libraries.
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Jan 25, 2014)

    • LIB: Added a CardGridArrayMultiChoiceAdapter (doc)
    • LIB: Added a CardArrayMultiChoiceAdapter (doc)
    • LIB: Added a CardHeader.OnPrepareCardHeaderPopupMenuListener to customize the popupMenu dynamically.(doc)
    • DEMO: Added an example with CardGridArrayMultiChoiceAdapter
    • DEMO: Added an example with CardArrayMultiChoiceAdapter
    • DEMO: Added an example with the popupMenu changed dynamically (in Header screen)
    • Migrated library and demo to gradle 1.10 and gradle-plugin 0.8.0
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Jan 7, 2014)

    • LIB: Added a CustomSource interface to load the CardThumbnails from your custom source preserving the built-in feature as AsyncTask and LRUCache. (doc)
    • LIB: Added a method to modify your bitmap before it is attached to the image View. In this way you can build rounded or circular images for example(doc)
    • LIB: Changed the overflow icon in Header with 3 rounded dots. If you would like to use the old icon read this.
    • LIB: Added state_activated in default card_selector
    • DEMO: Added an example with CustomSource (in Thumbnail screen)
    • DEMO: Added examples with circular and rounded images (in Misc and Google Birthday screen)
    • DEMO: Added an example with a Card with contextual action mode in Card page (doc)
    • DEMO: Added an example with Header with buttons on the left (in Header screen)
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Jan 7, 2014)

    • LIB: Added a CustomSource interface to load the CardThumbnails from your custom source preserving the built-in feature as AsyncTask and LRUCache. (doc)
    • LIB: Added a method to modify your bitmap before it is attached to the image View. In this way you can build rounded or circular images for example(doc)
    • LIB: Changed the overflow icon in Header with 3 rounded dots. If you would like to use the old icon read this.
    • LIB: Added state_activated in default card_selector
    • DEMO: Added an example with CustomSource (in Thumbnail screen)
    • DEMO: Added examples with circular and rounded images (in Misc and Google Birthday screen)
    • DEMO: Added an example with a Card with contextual action mode in Card page (doc)
    • DEMO: Added an example with Header with buttons on the left (in Header screen)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jan 7, 2014)

    • DEMO-extras: Added an example with StickyListHeaders by Emil Sjölander (doc)
    • LIB: Added a CardGridCursorAdapter (doc)
    • LIB: Added a new method to change dynamically the card background with a Drawable object. (doc)
    • LIB: Fixed an issue on CardHeader.OnClickCardHeaderPopupMenuListener. (You can see this page to fix your code)
    • LIB: Minor fixes (removed clickable warning, removed scaleType in base thumbnail layout)
    • DEMO: Added an example to change dynamically the card background
    • DEMO: Added an example with CardGridCursorAdapter (source)
    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Jan 7, 2014)

  • v0.8.0(Jan 7, 2014)

    • DEMO-extras: Added an example with ListViewAnimations by Niek Haarman (doc)
    • DEMO-extras: Added an example with grid and ListViewAnimations
    • LIB: Added a new method to add external adapter different from CardArrayAdapter. (doc)
    • LIB: Fixed margin on shadow according to rounded corners
    • DEMO: Fixed resources for XXHDPI screen
    • Migrated library and demo to sdk 19 (updated gradle files)
    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Jan 7, 2014)

    • DEMO-extras: Added an example with ActionBar-PullToRefresh by Chris Banes (doc)
    • LIB: Added a new method to change dynamically the card background. (doc)
    • LIB: Added errorResourceId in CardThumbnail (doc)
    • LIB: Improved Broadcast when the download is finished/cancelled in CardViewThumbnail (doc)
    • LIB: Improved caching in CardThumbnail
    • DEMO: Added an example with colored cards (source)
    • DEMO: Fixed issues on Google Stock Card (NPE) and NavigationDrawer (Resources$NotFoundException)
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Jan 7, 2014)

  • v0.5.0(Jan 7, 2014)

    • LIB: Now you can export your card as Bitmap (doc)
    • LIB: Now adapters support cards with different Inner Layouts (doc)
    • LIB: Added an Undo Action on swipe in CardArrayAdapter (doc)
    • LIB: Added a method to replace the inner layout in a card: cardView.replaceCard(Card card). - (doc)
    • LIB: Added a id field in the Card model.
    • LIB: Added a type field in the Card model. It can be useful with adapters.
    • LIB: Changed the card background. Now cards have a default corner radius = 2dp. You can customize it easily . (doc)
    • LIB: Added Broadcast to know when the download is finished and image is attached to ImageView through CardViewThumbnail (doc)
    • DEMO: Added the share action in BirthDayCardFragment and StockCardFragment to export a card in a bitmap format.
    • DEMO: Added a list with different inner layouts.
    • DEMO: Added an example with undo action.
    • DEMO: Added an example with "replace inner layout" in Refresh card example.
    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Jan 7, 2014)

  • v0.3.0(Jan 7, 2014)

    • LIB: Added CardListView with a CardArrayAdapter. - (doc)
    • LIB: Added a method to refresh card: cardView.refreshCard(card). - (doc)
    • DEMO: Added a card refresh example
    • DEMO: Added a simple list example
    • DEMO: Added a list with expandable and collapsible cards
    • DEMO: Added a list of Cards as Google Play
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Jan 7, 2014)

  • v0.1.1(Jan 7, 2014)

  • v.0.1(Jan 7, 2014)

Owner
Gabriele Mariotti
Gabriele Mariotti
💳 CreditCardView is an Android library that allows developers to create the UI which replicates an actual Credit Card.

CreditCard View CreditCardView is an Android library that allows developers to create the UI which replicates an actual Credit Card. Displaying and en

Vinay Gaba 769 Dec 14, 2022
Android Card-Library

Android Card-Library Technology Stack Android Studio Bumblebe

Eraño Payawal 7 Jul 28, 2022
This is a android custom view , like a scratch card effect!

ScratchView This is a android custom view , like a scratch card effect! Last Update 采纳DearZack童鞋的优化思路,把计算擦除面积比例的操作放在手指离开屏幕时,以降低对CPU的占用。 Articles Scrat

D_clock爱吃葱花 316 Nov 29, 2022
Android App to Teach the Card Counting Skill

card-counting Android App to Teach the Card Counting Skill. The skill can be used to make more informed decisions while playing games like Blackjack.

Jamie Flynn 1 Dec 30, 2021
Simple card app for Udacity's Android Basics: User Interface course

just-because-card Simple card app for Udacity's Android Basics: User Interface c

null 0 Jan 6, 2022
A tinder like swipeable card stack component

AndroidSwipeableCardStack Change log: provide option to infinitly swipe in a loop card rotation setting card gravity setting undo animation Thanks for

wenchao jiang 824 Nov 10, 2022
A simple implementation of swipe card like StreetView

A simple implementation of swipe card like StreetView!! DONATIONS This project needs you! If you would like to support this project's further developm

Michele Lacorte 831 Jan 4, 2023
Created a Tinder like Card Deck & Captain Train like Toolbar

TinderView Created A Simple and Beautiful Tinder like card deck & Captain Train like toolbar. This is heavily based on AndroidSwipeableCardStack, wenc

Aradh Pillai 328 Jun 18, 2022
PCard Add payment card screen made using JetPack Compose

PCard Add payment card screen made using JetPack Compose Find this repository useful? ❤️ Support it by joining stargazers for this repository. ⭐ And f

Mohamed Elbehiry 61 Dec 16, 2022
Card with swipe options in Jetpack Compose

SwipeableActionCard Card with swipe options in Jetpack Compose Tutorial: Click Here Import SwipeableActionCard library Add this in project level build

Harsh Mahajan 1 Nov 23, 2021
Janishar Ali 2.1k Jan 1, 2023
Have a look at Job Allocation app build with SQLite database and Kotlin support

Job Allocation Overview Do you remember or forget sometimes to whom you allocated a task ?? Have a look at Job Allocation app build with SQLite databa

null 0 Dec 13, 2021
A new canvas drawing library for Android. Aims to be the Fabric.js for Android. Supports text, images, and hand/stylus drawing input. The library has a website and API docs, check it out

FabricView - A new canvas drawing library for Android. The library was born as part of a project in SD Hacks (www.sdhacks.io) on October 3rd. It is cu

Antwan Gaggi 1k Dec 13, 2022
Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.

Android StackBlur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. Th

Enrique López Mañas 3.6k Dec 29, 2022
Android library providing bread crumbs to the support library fragments.

Hansel And Gretel Android library providing bread crumbs for compatibility fragments. Usage For a working implementation of this project see the sampl

Jake Wharton 163 Nov 25, 2022
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component.

Draggable Panel DEPRECATED. This project is not maintained anymore. Draggable Panel is an Android library created to build a draggable user interface

Pedro Vicente Gómez Sánchez 3k Dec 6, 2022
TourGuide is an Android library that aims to provide an easy way to add pointers with animations over a desired Android View

TourGuide TourGuide is an Android library. It lets you add pointer, overlay and tooltip easily, guiding users on how to use your app. Refer to the exa

Tan Jun Rong 2.6k Jan 5, 2023
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.

Bubbles for Android Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your

Txus Ballesteros 1.5k Jan 2, 2023
Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (https://github.com/romannurik/android-wizardpager)

Wizard Pager Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (ht

Julián Suárez 520 Nov 11, 2022