Android Material Library










0














The different Android Versions (even older ones) have still a big marketshare. For consultation I took the Distribution Dashboard into consideration.



enter image description here



When I started with Android Development I thought that the Standard components will have Material Style by default set. But as further as I came, I recognized that the "Standard" and Support Components don't have the "newest" Guidelines implemented.



So I was trying to understand why and found the com.google.android.material Library. I think this is a step into the right direction but I got a bit suspicious when I read the "Getting Started" Guide. Inside the guide it states "download the Android P Preview using the SDK manager".



Now I'm questioning, does that mean, that when I want to support all Android Versions with the biggest marketshares (all Versions till 5.1), I can't use this library, or is it still backwards comaptible?



Further I recognized, that when I want to support "older" Android Versions I need to use the Support Libraries. But I always questioned, isn't this a bit senseless? I mean, most of us want to bring their app to as much customers as possible. Due to the fact that 5.1 and 6.0 have a marketshare of approximately 30% does anyone really drop support for these devices and uses just "plain" Components not contained in the Support Library?










share|improve this question




























    0














    The different Android Versions (even older ones) have still a big marketshare. For consultation I took the Distribution Dashboard into consideration.



    enter image description here



    When I started with Android Development I thought that the Standard components will have Material Style by default set. But as further as I came, I recognized that the "Standard" and Support Components don't have the "newest" Guidelines implemented.



    So I was trying to understand why and found the com.google.android.material Library. I think this is a step into the right direction but I got a bit suspicious when I read the "Getting Started" Guide. Inside the guide it states "download the Android P Preview using the SDK manager".



    Now I'm questioning, does that mean, that when I want to support all Android Versions with the biggest marketshares (all Versions till 5.1), I can't use this library, or is it still backwards comaptible?



    Further I recognized, that when I want to support "older" Android Versions I need to use the Support Libraries. But I always questioned, isn't this a bit senseless? I mean, most of us want to bring their app to as much customers as possible. Due to the fact that 5.1 and 6.0 have a marketshare of approximately 30% does anyone really drop support for these devices and uses just "plain" Components not contained in the Support Library?










    share|improve this question


























      0












      0








      0







      The different Android Versions (even older ones) have still a big marketshare. For consultation I took the Distribution Dashboard into consideration.



      enter image description here



      When I started with Android Development I thought that the Standard components will have Material Style by default set. But as further as I came, I recognized that the "Standard" and Support Components don't have the "newest" Guidelines implemented.



      So I was trying to understand why and found the com.google.android.material Library. I think this is a step into the right direction but I got a bit suspicious when I read the "Getting Started" Guide. Inside the guide it states "download the Android P Preview using the SDK manager".



      Now I'm questioning, does that mean, that when I want to support all Android Versions with the biggest marketshares (all Versions till 5.1), I can't use this library, or is it still backwards comaptible?



      Further I recognized, that when I want to support "older" Android Versions I need to use the Support Libraries. But I always questioned, isn't this a bit senseless? I mean, most of us want to bring their app to as much customers as possible. Due to the fact that 5.1 and 6.0 have a marketshare of approximately 30% does anyone really drop support for these devices and uses just "plain" Components not contained in the Support Library?










      share|improve this question















      The different Android Versions (even older ones) have still a big marketshare. For consultation I took the Distribution Dashboard into consideration.



      enter image description here



      When I started with Android Development I thought that the Standard components will have Material Style by default set. But as further as I came, I recognized that the "Standard" and Support Components don't have the "newest" Guidelines implemented.



      So I was trying to understand why and found the com.google.android.material Library. I think this is a step into the right direction but I got a bit suspicious when I read the "Getting Started" Guide. Inside the guide it states "download the Android P Preview using the SDK manager".



      Now I'm questioning, does that mean, that when I want to support all Android Versions with the biggest marketshares (all Versions till 5.1), I can't use this library, or is it still backwards comaptible?



      Further I recognized, that when I want to support "older" Android Versions I need to use the Support Libraries. But I always questioned, isn't this a bit senseless? I mean, most of us want to bring their app to as much customers as possible. Due to the fact that 5.1 and 6.0 have a marketshare of approximately 30% does anyone really drop support for these devices and uses just "plain" Components not contained in the Support Library?







      android material-design android-support-library






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 12 '18 at 21:58

























      asked Nov 12 '18 at 19:55









      LukeFilewalker

      523516




      523516






















          1 Answer
          1






          active

          oldest

          votes


















          1














          The first library you mentioned (Material Components) works on all supported versions of Android, which currently is 14+. It internally uses Support Library and adds on top of their controls. You can use whichever you like and you'll be good on 5.1 and 6.0.



          The bad part is that none of these libraries actually fully implement the guidelines nor backport features. When I last checked, there was no cut corners, no backdrop layout, no saturation fade for images, etc. Shadows, ripples and drawing order don't work on API 4.x, colored shadows don't work on API older than 28, etc.



          If you need Material Design as in the guidelines, you need a 3rd party library or a lot of work.






          share|improve this answer






















          • Flutter addresses this problem by providing the exact same experience throughout all API levels.
            – urgentx
            Nov 13 '18 at 0:22










          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53269200%2fandroid-material-library%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          The first library you mentioned (Material Components) works on all supported versions of Android, which currently is 14+. It internally uses Support Library and adds on top of their controls. You can use whichever you like and you'll be good on 5.1 and 6.0.



          The bad part is that none of these libraries actually fully implement the guidelines nor backport features. When I last checked, there was no cut corners, no backdrop layout, no saturation fade for images, etc. Shadows, ripples and drawing order don't work on API 4.x, colored shadows don't work on API older than 28, etc.



          If you need Material Design as in the guidelines, you need a 3rd party library or a lot of work.






          share|improve this answer






















          • Flutter addresses this problem by providing the exact same experience throughout all API levels.
            – urgentx
            Nov 13 '18 at 0:22















          1














          The first library you mentioned (Material Components) works on all supported versions of Android, which currently is 14+. It internally uses Support Library and adds on top of their controls. You can use whichever you like and you'll be good on 5.1 and 6.0.



          The bad part is that none of these libraries actually fully implement the guidelines nor backport features. When I last checked, there was no cut corners, no backdrop layout, no saturation fade for images, etc. Shadows, ripples and drawing order don't work on API 4.x, colored shadows don't work on API older than 28, etc.



          If you need Material Design as in the guidelines, you need a 3rd party library or a lot of work.






          share|improve this answer






















          • Flutter addresses this problem by providing the exact same experience throughout all API levels.
            – urgentx
            Nov 13 '18 at 0:22













          1












          1








          1






          The first library you mentioned (Material Components) works on all supported versions of Android, which currently is 14+. It internally uses Support Library and adds on top of their controls. You can use whichever you like and you'll be good on 5.1 and 6.0.



          The bad part is that none of these libraries actually fully implement the guidelines nor backport features. When I last checked, there was no cut corners, no backdrop layout, no saturation fade for images, etc. Shadows, ripples and drawing order don't work on API 4.x, colored shadows don't work on API older than 28, etc.



          If you need Material Design as in the guidelines, you need a 3rd party library or a lot of work.






          share|improve this answer














          The first library you mentioned (Material Components) works on all supported versions of Android, which currently is 14+. It internally uses Support Library and adds on top of their controls. You can use whichever you like and you'll be good on 5.1 and 6.0.



          The bad part is that none of these libraries actually fully implement the guidelines nor backport features. When I last checked, there was no cut corners, no backdrop layout, no saturation fade for images, etc. Shadows, ripples and drawing order don't work on API 4.x, colored shadows don't work on API older than 28, etc.



          If you need Material Design as in the guidelines, you need a 3rd party library or a lot of work.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 13 '18 at 0:24

























          answered Nov 13 '18 at 0:18









          Zielony

          10.6k42734




          10.6k42734











          • Flutter addresses this problem by providing the exact same experience throughout all API levels.
            – urgentx
            Nov 13 '18 at 0:22
















          • Flutter addresses this problem by providing the exact same experience throughout all API levels.
            – urgentx
            Nov 13 '18 at 0:22















          Flutter addresses this problem by providing the exact same experience throughout all API levels.
          – urgentx
          Nov 13 '18 at 0:22




          Flutter addresses this problem by providing the exact same experience throughout all API levels.
          – urgentx
          Nov 13 '18 at 0:22

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53269200%2fandroid-material-library%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Barbados

          How to read a connectionString WITH PROVIDER in .NET Core?

          Node.js Script on GitHub Pages or Amazon S3