Я бы не сказал, что это плохая практика, если все сделано правильно, но это не то, что естественно ожидалось.
Я регулярно помещаю прокручиваемые виды во что-то, что прокручивается, но вы должны заблокировать внешний слой и включить прокрутку внутри. В идеале вы должны сделать что-то еще, но это возможно.
Вы можете изменить ScrollView
для блокировки, как в здесь .
Затем программно заблокируйте LockableScrollView
прокрутку при касании внутренней вещи.
smset.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event)
{
// Disables LockableScrollView when the EditText is touched
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
scrollView1.setScrollingEnabled(false);
}
// Enables LockableScrollView when the EditText is touched
if (event.getAction() == MotionEvent.ACTION_UP)
{
scrollView1.setScrollingEnabled(true);
}
return false;
}
});
Недостатком этого является то, что он отключит прокрутку при касании EditText, но он не должен вызывать никаких других побочных эффектов.