2014-01-08 1 views
2

나는이SeekBar를 엄지 손가락을 확인 hitbox에서 더 큰

enter image description here

건과 같은 사용자 정의 검색 막대가 슬라이더를 잡아 꽤 어려운 것입니다했다. 그래서 내가 원했던 것은 엄지 손가락의 히트 박스를 늘려서 더 쉽게 만들 수있게하는 것입니다. 나는 몇 가지 시도를했지만 항상 seekbar 모양을 엉망으로 만들었습니다. 내가 할 수있는 아이디어는 없니?

layout.xml

<SeekBar 
    android:id="@+id/xxx" 
    style="@style/SeekBar" 
    android:layout_width="@dimen/pixel_130dp" 
    android:layout_below="@+id/name_textview" 
    android:layout_centerHorizontal="true" /> 

styles.xml

<style name="SeekBar"> 
    <item name="android:layout_height">@dimen/pixel_20dp</item> 
    <item name="android:maxHeight">@dimen/pixel_20dp</item> 
    <item name="android:minHeight">@dimen/pixel_20dp</item> 
    <item name="android:thumb">@drawable/seek_bar_thumb</item> 
    <item name="android:paddingLeft">@dimen/pixel_5dp</item> 
    <item name="android:paddingRight">@dimen/pixel_5dp</item> 
    <item name="android:paddingTop">@dimen/pixel_2dp</item> 
    <item name="android:paddingBottom">@dimen/pixel_2dp</item> 
    <item name="android:progressDrawable">@drawable/seek_bar_progress_drawable</item> 
</style> 

seek_bar_thumb.xml TouchDelegate 클래스가 시작하기에 좋은 장소가 될 것으로 보인다

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item> 
     <shape> 
      <size 
       android:height="@dimen/pixel_16dp" 
       android:width="@dimen/pixel_25dp" /> 

      <solid android:color="@android:color/transparent" /> 
     </shape> 
    </item> 
    <item android:drawable="@drawable/slider_thumb"/> 

</layer-list> 

답변

1

분명히 더 똑똑한 방법이 없기 때문에, 지금 내가 한 일은 여기에 있습니다. 내가 발견 한 유일한 해결책은 엄지 이미지 주위에 투명한 영역을 추가하는 것이 었습니다. 나는 그 크기를 두 배로하고 SeekbarthumbOffset 매개 변수를 추가했습니다. 그게 최선의 해결책은 아닌 것 같지만 적어도 내 경우에는 효과가있다.

0

.

사용 방법은 tutorial을 참조하십시오.

+1

그건 내가 처음에 생각한거야. 비록 TouchDelegate가 작동하려면, 나는 슬라이더 엄지 손가락의 ID를 알아야하고 거기에 하나라도 있는지 확실하지 않습니다. 내 말은, 슬라이더 썸에 대해서만 전체 슬라이더의 히트 박스를 늘리고 싶지는 않습니다. – SimonSays

관련 문제