相关疑难解决方法(0)

Horizo​​ntalScrollView:添加新视图时自动滚动到结束?

我有一个包含LinearLayout的Horizo​​ntalScrollView.在屏幕上我有一个Button,它将在运行时向LinearLayout添加新的视图,我希望滚动视图在添加新视图时滚动到列表的末尾.

我几乎让它工作 - 除了它总是滚动一个视图而不是最后一个视图.在没有首先计算包含新视图的情况下,它似乎在滚动.

在我的应用程序中,我使用的是自定义View对象,但我制作了一个使用ImageView并具有相同症状的小型测试应用程序.我在Layout和ScrollView上尝试了各种各样的东西,比如requestLayout(),我尝试了scrollTo(Integer.MAX_VALUE),它滚动到了netherverse :)我是否违反了UI线程问题?

  • 干草堆

======

    public class Main extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

             Button b = (Button) findViewById(R.id.addButton);
             b.setOnClickListener(new AddListener());

             add();
        }

        private void add() {
             LinearLayout l = (LinearLayout) findViewById(R.id.list);
             HorizontalScrollView s = 
                 (HorizontalScrollView) findViewById(R.id.scroller);

             ImageView i = new ImageView(getApplicationContext());
             i.setImageResource(android.R.drawable.btn_star_big_on);
             l.addView(i);

             s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
        }

        private class AddListener implements View.OnClickListener {
             @Override
             public void onClick(View v) {
                 add();
             }
        }
    }
Run Code Online (Sandbox Code Playgroud)

布局XML: …

user-interface android horizontal-scrolling

49
推荐指数
3
解决办法
6万
查看次数