0

Android에서 검색 바를 사용자 지정하여 채워진 섹션의 안쪽과 바깥 쪽 그림자 (아래쪽)를 모두 얻으려고합니다.진행 부분의 Seekbar 바깥 쪽 그림자

이 같은 결과 싶습니다 순간

[1]: https://i.stack.imgur.com/Md9nY.jpg

를 I 작성 :

  • 둥근 테두리
  • 그라데이션 효과
  • 맞춤 엄지
  • 내부 그림자 (진행 위쪽에 매우 작음)

(진행의 아래쪽에) 외곽 그림자를 만들 수 없습니다. 내가 솔루션 나 자신을 발견

<?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> 
      <size android:height="16dp"/> 
      <corners android:radius="20dp"/> 
      <solid android:color="@color/background_unselected_gray"/> 
     </shape> 
    </item> 

    <item android:id="@android:id/progress"> 
     <scale android:scaleWidth="100%"> 
      <layer-list> 
       <item> 
        <shape> 
         <corners 
          android:bottomLeftRadius="20dp" 
          android:topLeftRadius="20dp"/> 
         <gradient 
          android:endColor="@color/button_red_gradient_bottom" 
          android:startColor="@color/button_red_gradient_top"/> 
        </shape> 
       </item> 

       <item> 
        <shape> 
         <corners 
          android:bottomLeftRadius="18dp" 
          android:topLeftRadius="18dp"/> 
         <gradient 
          android:angle="270" 
          android:centerColor="@color/horizontal_seekbar_inner_shadow_center" 
          android:centerY="0.1" 
          android:endColor="@color/transparent" 
          android:startColor="@color/horizontal_seekbar_inner_shadow_top"/> 
        </shape> 
       </item> 
      </layer-list> 
     </scale> 
    </item> 
</layer-list> 

답변

0

:

내 코드입니다.

SOLUTION : 그냥으로 id:progress 아이템의 layer-list에 다른 아이템을 추가

: bottom 속성을 사용하여 그림자를

  • 패딩 시뮬레이션 투명 어두운 회색에서

    • 구배

    다음은 add 코드입니다. ed 항목 :

    이 항목에는 네거티브 패딩이 적용되어 진행률 표시 줄 뒤에 있습니다.

    전체 코드 :

    <?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> 
          <size android:height="16dp"/> 
          <corners android:radius="20dp"/> 
          <solid android:color="@color/background_unselected_gray"/> 
         </shape> 
        </item> 
    
        <item android:id="@android:id/progress"> 
         <scale android:scaleWidth="100%"> 
          <layer-list> 
           <item android:bottom="-3dp" 
             android:left="1dp"> 
            <shape> 
             <corners 
              android:bottomLeftRadius="20dp" 
              android:topLeftRadius="20dp"/> 
             <gradient 
              android:angle="270" 
              android:centerColor="@color/horizontal_seekbar_outer_shadow_center" 
              android:centerY="0.75" 
              android:endColor="@color/transparent" 
              android:startColor="@color/horizontal_seekbar_outer_shadow_top"/> 
            </shape> 
           </item> 
    
           <item> 
            <shape> 
             <corners 
              android:bottomLeftRadius="20dp" 
              android:topLeftRadius="20dp"/> 
             <gradient 
              android:endColor="@color/button_red_gradient_bottom" 
              android:startColor="@color/button_red_gradient_top"/> 
            </shape> 
           </item> 
    
           <item> 
            <shape> 
             <corners 
              android:bottomLeftRadius="18dp" 
              android:topLeftRadius="18dp"/> 
             <gradient 
              android:angle="270" 
              android:centerColor="@color/horizontal_seekbar_inner_shadow_center" 
              android:centerY="0.1" 
              android:endColor="@color/transparent" 
              android:startColor="@color/horizontal_seekbar_inner_shadow_top"/> 
            </shape> 
           </item> 
          </layer-list> 
         </scale> 
        </item> 
    </layer-list>