Can not round corners of drawable with method setCornerRadius












0















I have simple TextView. I want set simple colored background with round corners.



I try two ways.



public static Drawable createRoundDrawable(int color, float radius) {
GradientDrawable drawable = new GradientDrawable();
drawable.setShape(GradientDrawable.RECTANGLE);
drawable.setColor(color);
drawable.setCornerRadius(radius);
return drawable;
}


And



public static Drawable createRoundDrawable(int color, float radius) {
PaintDrawable drawable = new PaintDrawable(color);
drawable.setCornerRadius(radius);
return drawable;
}


I create drawable with createRoundDrawable method and set background to textView by



textView.setBackground(background);


So, background applied to textView, but corners have no any radius. Why? And how to fix it?










share|improve this question























  • I tried your code in my example project. It works for me. Can you share another information to us, for example your xml file, which api used etc.

    – enesgonez
    Nov 22 '18 at 10:50
















0















I have simple TextView. I want set simple colored background with round corners.



I try two ways.



public static Drawable createRoundDrawable(int color, float radius) {
GradientDrawable drawable = new GradientDrawable();
drawable.setShape(GradientDrawable.RECTANGLE);
drawable.setColor(color);
drawable.setCornerRadius(radius);
return drawable;
}


And



public static Drawable createRoundDrawable(int color, float radius) {
PaintDrawable drawable = new PaintDrawable(color);
drawable.setCornerRadius(radius);
return drawable;
}


I create drawable with createRoundDrawable method and set background to textView by



textView.setBackground(background);


So, background applied to textView, but corners have no any radius. Why? And how to fix it?










share|improve this question























  • I tried your code in my example project. It works for me. Can you share another information to us, for example your xml file, which api used etc.

    – enesgonez
    Nov 22 '18 at 10:50














0












0








0








I have simple TextView. I want set simple colored background with round corners.



I try two ways.



public static Drawable createRoundDrawable(int color, float radius) {
GradientDrawable drawable = new GradientDrawable();
drawable.setShape(GradientDrawable.RECTANGLE);
drawable.setColor(color);
drawable.setCornerRadius(radius);
return drawable;
}


And



public static Drawable createRoundDrawable(int color, float radius) {
PaintDrawable drawable = new PaintDrawable(color);
drawable.setCornerRadius(radius);
return drawable;
}


I create drawable with createRoundDrawable method and set background to textView by



textView.setBackground(background);


So, background applied to textView, but corners have no any radius. Why? And how to fix it?










share|improve this question














I have simple TextView. I want set simple colored background with round corners.



I try two ways.



public static Drawable createRoundDrawable(int color, float radius) {
GradientDrawable drawable = new GradientDrawable();
drawable.setShape(GradientDrawable.RECTANGLE);
drawable.setColor(color);
drawable.setCornerRadius(radius);
return drawable;
}


And



public static Drawable createRoundDrawable(int color, float radius) {
PaintDrawable drawable = new PaintDrawable(color);
drawable.setCornerRadius(radius);
return drawable;
}


I create drawable with createRoundDrawable method and set background to textView by



textView.setBackground(background);


So, background applied to textView, but corners have no any radius. Why? And how to fix it?







android






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 10:04









Yura ShinkarevYura Shinkarev

2,85222544




2,85222544













  • I tried your code in my example project. It works for me. Can you share another information to us, for example your xml file, which api used etc.

    – enesgonez
    Nov 22 '18 at 10:50



















  • I tried your code in my example project. It works for me. Can you share another information to us, for example your xml file, which api used etc.

    – enesgonez
    Nov 22 '18 at 10:50

















I tried your code in my example project. It works for me. Can you share another information to us, for example your xml file, which api used etc.

– enesgonez
Nov 22 '18 at 10:50





I tried your code in my example project. It works for me. Can you share another information to us, for example your xml file, which api used etc.

– enesgonez
Nov 22 '18 at 10:50












4 Answers
4






active

oldest

votes


















0














Better use a drawable XML file with rounded corner like this



<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle">
<!-- you can use any color you want-->
<solid android:color="@color/colorPrimary" />
<corners android:radius="20dp" />
</shape>


Then set the file as drawable






share|improve this answer































    0














    Remove



     drawable.setShape(GradientDrawable.RECTANGLE);


    it should be



       public static Drawable createRoundDrawable(int color, float radius) {
    GradientDrawable drawable = new GradientDrawable();
    drawable.setColor(color);
    drawable.setCornerRadius(radius);
    return drawable;
    }





    share|improve this answer































      0














      you can try this:
      create a new Drawable resource file in drawable folder give it a name say custom_background.xml with the following content:



      <?xml version="1.0" encoding="utf-8"?>
      <shape
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle">
      <corners android:radius="15dp" />
      <solid
      android:color="#FFFFFF" />
      </shape>


      give radius and color of your choice and in layout file of textview add background tag
      android:background="@drawable/custom_background"






      share|improve this answer































        0














        Try setting corner to individual corner with setCornerRadii()



        public static Drawable createRoundDrawable(int color, float radius) {
        GradientDrawable drawable = new GradientDrawable();
        drawable.setShape(GradientDrawable.RECTANGLE);
        drawable.setColor(color);
        drawable.setCornerRadii(new float { radius, radius, radius, radius, radius, radius, radius, radius});
        return drawable;
        }





        share|improve this answer























          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%2f53428407%2fcan-not-round-corners-of-drawable-with-method-setcornerradius%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          4 Answers
          4






          active

          oldest

          votes








          4 Answers
          4






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Better use a drawable XML file with rounded corner like this



          <?xml version="1.0" encoding="utf-8"?>
          <shape xmlns:android="http://schemas.android.com/apk/res/android"
          android:padding="10dp"
          android:shape="rectangle">
          <!-- you can use any color you want-->
          <solid android:color="@color/colorPrimary" />
          <corners android:radius="20dp" />
          </shape>


          Then set the file as drawable






          share|improve this answer




























            0














            Better use a drawable XML file with rounded corner like this



            <?xml version="1.0" encoding="utf-8"?>
            <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:padding="10dp"
            android:shape="rectangle">
            <!-- you can use any color you want-->
            <solid android:color="@color/colorPrimary" />
            <corners android:radius="20dp" />
            </shape>


            Then set the file as drawable






            share|improve this answer


























              0












              0








              0







              Better use a drawable XML file with rounded corner like this



              <?xml version="1.0" encoding="utf-8"?>
              <shape xmlns:android="http://schemas.android.com/apk/res/android"
              android:padding="10dp"
              android:shape="rectangle">
              <!-- you can use any color you want-->
              <solid android:color="@color/colorPrimary" />
              <corners android:radius="20dp" />
              </shape>


              Then set the file as drawable






              share|improve this answer













              Better use a drawable XML file with rounded corner like this



              <?xml version="1.0" encoding="utf-8"?>
              <shape xmlns:android="http://schemas.android.com/apk/res/android"
              android:padding="10dp"
              android:shape="rectangle">
              <!-- you can use any color you want-->
              <solid android:color="@color/colorPrimary" />
              <corners android:radius="20dp" />
              </shape>


              Then set the file as drawable







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Nov 22 '18 at 10:07









              Bibaswann BandyopadhyayBibaswann Bandyopadhyay

              2,5182422




              2,5182422

























                  0














                  Remove



                   drawable.setShape(GradientDrawable.RECTANGLE);


                  it should be



                     public static Drawable createRoundDrawable(int color, float radius) {
                  GradientDrawable drawable = new GradientDrawable();
                  drawable.setColor(color);
                  drawable.setCornerRadius(radius);
                  return drawable;
                  }





                  share|improve this answer




























                    0














                    Remove



                     drawable.setShape(GradientDrawable.RECTANGLE);


                    it should be



                       public static Drawable createRoundDrawable(int color, float radius) {
                    GradientDrawable drawable = new GradientDrawable();
                    drawable.setColor(color);
                    drawable.setCornerRadius(radius);
                    return drawable;
                    }





                    share|improve this answer


























                      0












                      0








                      0







                      Remove



                       drawable.setShape(GradientDrawable.RECTANGLE);


                      it should be



                         public static Drawable createRoundDrawable(int color, float radius) {
                      GradientDrawable drawable = new GradientDrawable();
                      drawable.setColor(color);
                      drawable.setCornerRadius(radius);
                      return drawable;
                      }





                      share|improve this answer













                      Remove



                       drawable.setShape(GradientDrawable.RECTANGLE);


                      it should be



                         public static Drawable createRoundDrawable(int color, float radius) {
                      GradientDrawable drawable = new GradientDrawable();
                      drawable.setColor(color);
                      drawable.setCornerRadius(radius);
                      return drawable;
                      }






                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Nov 22 '18 at 10:08









                      sasikumarsasikumar

                      7,64011226




                      7,64011226























                          0














                          you can try this:
                          create a new Drawable resource file in drawable folder give it a name say custom_background.xml with the following content:



                          <?xml version="1.0" encoding="utf-8"?>
                          <shape
                          xmlns:android="http://schemas.android.com/apk/res/android"
                          android:shape="rectangle">
                          <corners android:radius="15dp" />
                          <solid
                          android:color="#FFFFFF" />
                          </shape>


                          give radius and color of your choice and in layout file of textview add background tag
                          android:background="@drawable/custom_background"






                          share|improve this answer




























                            0














                            you can try this:
                            create a new Drawable resource file in drawable folder give it a name say custom_background.xml with the following content:



                            <?xml version="1.0" encoding="utf-8"?>
                            <shape
                            xmlns:android="http://schemas.android.com/apk/res/android"
                            android:shape="rectangle">
                            <corners android:radius="15dp" />
                            <solid
                            android:color="#FFFFFF" />
                            </shape>


                            give radius and color of your choice and in layout file of textview add background tag
                            android:background="@drawable/custom_background"






                            share|improve this answer


























                              0












                              0








                              0







                              you can try this:
                              create a new Drawable resource file in drawable folder give it a name say custom_background.xml with the following content:



                              <?xml version="1.0" encoding="utf-8"?>
                              <shape
                              xmlns:android="http://schemas.android.com/apk/res/android"
                              android:shape="rectangle">
                              <corners android:radius="15dp" />
                              <solid
                              android:color="#FFFFFF" />
                              </shape>


                              give radius and color of your choice and in layout file of textview add background tag
                              android:background="@drawable/custom_background"






                              share|improve this answer













                              you can try this:
                              create a new Drawable resource file in drawable folder give it a name say custom_background.xml with the following content:



                              <?xml version="1.0" encoding="utf-8"?>
                              <shape
                              xmlns:android="http://schemas.android.com/apk/res/android"
                              android:shape="rectangle">
                              <corners android:radius="15dp" />
                              <solid
                              android:color="#FFFFFF" />
                              </shape>


                              give radius and color of your choice and in layout file of textview add background tag
                              android:background="@drawable/custom_background"







                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Nov 22 '18 at 10:13









                              SrijaySrijay

                              137




                              137























                                  0














                                  Try setting corner to individual corner with setCornerRadii()



                                  public static Drawable createRoundDrawable(int color, float radius) {
                                  GradientDrawable drawable = new GradientDrawable();
                                  drawable.setShape(GradientDrawable.RECTANGLE);
                                  drawable.setColor(color);
                                  drawable.setCornerRadii(new float { radius, radius, radius, radius, radius, radius, radius, radius});
                                  return drawable;
                                  }





                                  share|improve this answer




























                                    0














                                    Try setting corner to individual corner with setCornerRadii()



                                    public static Drawable createRoundDrawable(int color, float radius) {
                                    GradientDrawable drawable = new GradientDrawable();
                                    drawable.setShape(GradientDrawable.RECTANGLE);
                                    drawable.setColor(color);
                                    drawable.setCornerRadii(new float { radius, radius, radius, radius, radius, radius, radius, radius});
                                    return drawable;
                                    }





                                    share|improve this answer


























                                      0












                                      0








                                      0







                                      Try setting corner to individual corner with setCornerRadii()



                                      public static Drawable createRoundDrawable(int color, float radius) {
                                      GradientDrawable drawable = new GradientDrawable();
                                      drawable.setShape(GradientDrawable.RECTANGLE);
                                      drawable.setColor(color);
                                      drawable.setCornerRadii(new float { radius, radius, radius, radius, radius, radius, radius, radius});
                                      return drawable;
                                      }





                                      share|improve this answer













                                      Try setting corner to individual corner with setCornerRadii()



                                      public static Drawable createRoundDrawable(int color, float radius) {
                                      GradientDrawable drawable = new GradientDrawable();
                                      drawable.setShape(GradientDrawable.RECTANGLE);
                                      drawable.setColor(color);
                                      drawable.setCornerRadii(new float { radius, radius, radius, radius, radius, radius, radius, radius});
                                      return drawable;
                                      }






                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered Nov 22 '18 at 10:14









                                      Karan MerKaran Mer

                                      5,27532864




                                      5,27532864






























                                          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.




                                          draft saved


                                          draft discarded














                                          StackExchange.ready(
                                          function () {
                                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53428407%2fcan-not-round-corners-of-drawable-with-method-setcornerradius%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







                                          Popular posts from this blog

                                          Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

                                          ts Property 'filter' does not exist on type '{}'

                                          mat-slide-toggle shouldn't change it's state when I click cancel in confirmation window