안녕하세요. 내 앱용으로 이퀄라이저를 만들려고하는데 버튼을 만드는 방법을 알아낼 수 없습니다. 나는 자신을 설명하는 방법을 모른다. 그래서 내 말보다 더 드러나는 그림이 여기에있다 : 안드로이드에서 스크롤 가능한 버튼을 만드는 방법
나는 애니메이션이 필요합니까? 너희들이 나를 올바른 방향으로 가리킬 수 있니?
미리 감사드립니다.
안녕하세요. 내 앱용으로 이퀄라이저를 만들려고하는데 버튼을 만드는 방법을 알아낼 수 없습니다. 나는 자신을 설명하는 방법을 모른다. 그래서 내 말보다 더 드러나는 그림이 여기에있다 : 안드로이드에서 스크롤 가능한 버튼을 만드는 방법
나는 애니메이션이 필요합니까? 너희들이 나를 올바른 방향으로 가리킬 수 있니?
미리 감사드립니다.
나는 SeekBar을 의미한다고 생각합니다. 그것은 안드로이드의 JSlider입니다.
정확히 내가 무엇을 찾고 있었는지. 고마워요 – madcoderz
@ 테드 같은 문제가있는 [this older] (http://stackoverflow.com/questions/631238/modifying-the-android-seekbar-widget-to-operate-vertically) 주제를 발견했습니다. –
그래, 그 스레드에 대한 제안은 또한 사용자 정의 위젯이 필요합니다. SeekBar의 하위 클래스를 만들고 수직으로 작동하도록하는 것보다 훨씬 쉽습니다. –
이 간단 수직 SeekBar를입니다 ....
public class SimpleVerticalSeekBar extends SeekBar {
public SimpleVerticalSeekBar(Context context) {
super(context);
}
public SimpleVerticalSeekBar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public SimpleVerticalSeekBar(Context context, AttributeSet attrs) {
super(context, attrs);
}
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(h, w, oldh, oldw);
}
@Override
protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(heightMeasureSpec, widthMeasureSpec);
setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
}
protected void onDraw(Canvas c) {
c.rotate(-90);
c.translate(-getHeight(), 0);
super.onDraw(c);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (!isEnabled()) {
return false;
}
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
setProgress(getMax() - (int) (getMax() * event.getY()/getHeight()));
onSizeChanged(getWidth(), getHeight(), 0, 0);
break;
case MotionEvent.ACTION_CANCEL:
break;
}
return true;
}
}
당신이하여 ImageButton 또는 이미지 뷰의 버튼을 확장 사용자 정의보기를 만들고 터치 이벤트를 처리 할 필요가 날 것으로 보인다. 그것이 처음으로 생각한 초보자의 생각입니다. –
@ Madcoderz : 내 앱에서 음악 이퀄라이저를 만들고 싶습니다. 저를 도울 수 있습니까? – AB1209