Я пытаюсь создать пользовательский вид с высотой, превышающей высоту дисплея (или родителя). Это представление должно быть прокручиваемым. Я использую onTouchEvent для измерения нового положения пальца, и я действительно получаю то, что хочу, но мое представление не движется. Я искал в Интернете решение проблемы, но не нашел подходящего ответа. Это мой ПосмотретьscrollBy() не прокручивает
public class SmartScroll extends View{
public SmartScroll(Context context) {
super(context);
}
int count = 0;
int yStart = 0, yEnd = 0;
@Override
public boolean onTouchEvent(MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
yStart = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
MeasureSpec.toString(getMeasuredHeight());
MeasureSpec.toString(getMeasuredWidth());
count++;
yEnd = (int) event.getY();
scrollBy(0, (yEnd - yStart));
yStart = yEnd;
break;
case MotionEvent.ACTION_UP:
yStart = 0;
yEnd = 0;
break;
}
return true;
}
и это, как я создаю его бездеятельности:
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SmartScroll scrollView = new SmartScroll(getApplicationContext()) {
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(1500, MeasureSpec.EXACTLY));
}
};
scrollView.setBackgroundDrawable(getResources().getDrawable(R.drawable.gradient));
setContentView(scrollView);
}
}
Пожалуйста, помогите мне, чтобы заставить его работать
Вместо того чтобы реализовать прокручиваемое представление, почему бы просто не обернуть пользовательское представление в ScrollView/HorizontalScrollView? – Luksprog
Этот взгляд будет частью большого проекта с довольно сложной иерархией представлений. В настоящее время эта функция работает так, как вы предлагали, но этот пользовательский вид необходим для лучшего управления измерением и компоновкой представлений. – Lanitka