2016-07-06 2 views
2

다른 진행률 표시 줄을 사용하는 앱을 개발 중입니다. 둥근 cornes가있는 Google 맞춤형으로 보이기를 바랍니다. Google fir bars 나는 다른 색상으로 각 막대에 대한 사용자 정의 그릴 수 있고, 당신이 여기에서 볼 수 있듯이 그것은 외부 모서리가 아니라 내부 모서리를 라운드 : My bars 내 사용자 정의 당김은 다음과 같습니다Android Material Design rounded progress_bar

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@android:id/background"> 
     <shape> 
      <corners android:radius="@dimen/progress_bar_rounded" /> 
      <solid android:color="@color/progressbarBackground" /> 
     </shape> 
    </item> 

    <item android:id="@android:id/progress"> 
     <clip> 
      <shape> 
       <corners android:radius="@dimen/progress_bar_rounded" /> 
       <solid android:color="@color/progressbarGreen" /> 
      </shape> 
     </clip> 
    </item> 
</layer-list> 

<ProgressBar 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="@dimen/progress_bar_high" 
    android:id="@+id/GreenProgressBar" 
    android:indeterminate="false" 
    android:layout_marginLeft="15dp" 
    android:layout_gravity="center_vertical" 
    android:progressDrawable="@drawable/custom_green_progressbar" /> 

내가 https://github.com/akexorcist/Android-RoundCornerProgressBar 일부 라이브러리를 사용할 수 있지만 그것은 내가 그것을 키우면되지 가치가 생각 같은 간단한 일이 같이 진행 바 코드입니다. 나는 또한 다른 스레드를보고 있지만 아무 것도 나를 위해 일한 적이 없다. 가능한 경우 .9.png 이미지로 작업하지 않아도됩니다.

고맙습니다.

+0

확인할 수있는이 http://stackoverflow.com/a/21923928/3711562 및 http://stackoverflow.com/a/5354554/3711562 –

+0

네, 이미 그 실을 보았습니다. 그러나 색상이 바뀔 수 있기 때문에 .9.png를 선호하지 않습니다. 두 번째 게시물을 이해하지 못합니다. – Javierd98

+0

@ Javierd98'progressTint'를 사용하여 색을 바꿀 수 있습니다 – tachyonflux

답변

3

clip보다는 scale 태그를 사용

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@android:id/background"> 
     <shape> 
      <corners android:radius="@dimen/progress_bar_rounded" /> 
      <solid android:color="@color/progressbarBackground" /> 
     </shape> 
    </item> 

    <item android:id="@android:id/progress"> 
     <scale android:scaleWidth="100%" android:useIntrinsicSizeAsMinimum="true"> 
      <shape> 
       <corners android:radius="@dimen/progress_bar_rounded" /> 
       <solid android:color="@color/progressbarGreen" /> 
       <size android:width="@dimen/progress_bar_rounded"/> 
      </shape> 
     </scale> 
    </item> 
</layer-list> 
+0

고마워요 !! 이렇게하면 주요 문제가 해결되었으므로 진행 상황이 작을 때 진행 표시 줄이 배경에 맞지 않아 추한 것처럼 보입니다. 어떻게 고칠 수 있니? http://i.imgur.com/vnak3Av.png – Javierd98

+0

하나의 가능한 해결책은 모양을 너비로 지정하고 'useIntrinsicSizeAsMinimum'을 사용하여 그 너비가 0보다 작지 않도록하는 것입니다. – tachyonflux

+0

'android : useIntrinsicSizeAsMinimum = "true를 추가하려고했습니다. "규모면에서 문제는 여전히 존재한다. – Javierd98

관련 문제