Я также искал способ сделать что-то похожее, и, посмотрев на некоторые другие вопросы и собрав все ответы, я нашел способ изменить размер большого пальца Seekbar в onCreate ().
Вот мой код из onCreate()
, слегка адаптированный к вашим потребностям.
ViewTreeObserver vto = mySeekBar.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
Resources res = getResources();
Drawable thumb = res.getDrawable(R.drawable.thumb);
int h = mySeekBar.getMeasuredHeight() * 1.5; // 8 * 1.5 = 12
int w = h;
Bitmap bmpOrg = ((BitmapDrawable)thumb).getBitmap();
Bitmap bmpScaled = Bitmap.createScaledBitmap(bmpOrg, w, h, true);
Drawable newThumb = new BitmapDrawable(res, bmpScaled);
newThumb.setBounds(0, 0, newThumb.getIntrinsicWidth(), newThumb.getIntrinsicHeight());
mySeekBar.setThumb(newThumb);
mySeekBar.getViewTreeObserver().removeOnPreDrawListener(this);
return true;
}
});
Обратите внимание, что это работает для изменения размера вашего большого пальца, но он может быть обрезан, потому что он больше, чем содержащая панель поиска (не уверен в этом),Если оно обрезается, вам может потребоваться создать более высокую панель поиска и создать собственный фон панели поиска, соответствующий размеру экрана, который вы хотите.
Надеюсь, это поможет!