2016-08-04 3 views
1

Я использую этот library для VerticalSeekBars в своем приложении для Android. В моем приложении я кладу несколько вертикальных поисковых плакатов по горизонтали (например, около 10-15?), Используя LinearLayout и layout_weight. Кроме того, я использую большой палец, который должен быть больше, чем прогресс (по существу, возлагая на вершине прогресса) и пользовательскую вытяжку для прогресса как таковые:Seekbar Progress Drawable Изменение размера в API 22 против API 23

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:id="@android:id/background" 
       android:height="10dp" 
       android:gravity="center_vertical"> 
     <shape android:shape="rectangle"> 
      <corners android:radius="500dp"/> 
      <solid android:color="#000000"/> 
     </shape> 
    </item> 
</layer-list> 

На API 23 (который я верьте, это Marshmallow?), все правильно строит и правильно изменяет размер по разным размерам экрана. Потрясающие. Однако, по API 22 и ниже, достигнутый прогресс не корректирует себя; вместо этого он увеличивает его размер, чтобы иметь большой размер вставки для поиска. Я попытался изменить размер кода в моем коде, но он все равно ничего не делает. Я нарисовал его, чтобы показать, что я имею в виду:

Picture example - excuse my poor drawing skills :(

Как получить API 22/ниже, чтобы соответствовать такому же поведению API 23 для достижения с SeekBar?

Вот пример моей VerticalSeekBar установки:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="1"> 

    <com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBarWrapper 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="center" 
      android:layout_weight="0.5"> 

      <com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBar 
       android:layout_width="0dp" 
       android:layout_height="0dp" 
       android:max="100" 
       android:progress="50" 
       app:seekBarRotation="CW270" 
       android:progressDrawable="@drawable/custom_track" 
       android:splitTrack="false"/> 

    </com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBarWrapper> 

      <com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBarWrapper 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="center" 
      android:layout_weight="0.5"> 

      <com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBar 
       android:layout_width="0dp" 
       android:layout_height="0dp" 
       android:max="100" 
       android:progress="50" 
       app:seekBarRotation="CW270" 
       android:progressDrawable="@drawable/custom_track" 
       android:splitTrack="false"/> 

    </com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBarWrapper> 

</LinearLayout> 

Спасибо!

ответ

1

Set maxHeight так:

<com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBar 
     ... 
     android:maxHeight="2dp" 
     .../> 
+0

Это правильный ответ ... не могу поверить, что я не думаю об этой недвижимости раньше! +50 щедрость ваша, когда наступает 21 час;) –

 Смежные вопросы

  • Нет связанных вопросов^_^