以ScrollView为根的部局,不能从顶部显示其包含的页面内容


以ScrollView为根的部局,不能从顶部显示其包含的页面内容;是我最头疼的问题了,很多冲突一个一个的解决。到最后遇到这么一个问题,在网上搜搜,却不知道使用什么关键字查!网上资源就查到那几条关于这方面的论坛谈话。这也算是一个给遇到该麻烦的小伙伴们出了道难题,现在我就来解释一下!

问题由来:

基本上就是这样一个布局:




    

         
           
        

        

            

                

                

                
            
        

        

        

        
        

        

        

        

        

        

        

        

        

        

        

        

        

        

    


根部局是ScrollView,然后根部局中嵌套了一个TitleBar标题,其下面是一个ViewPager,然后再下面依次是三个GridView。

 

布局就是这样的,当我运行之后,页面显示结果不是整个页面从ScrollView的 y=0 位置显示。即:不是从顶部位置显示,而是冲ScrollView的中间部位展示该页面的所有内容;

解决办法:有人说使用方法:

mScrollView.smoothScrollTo(0, 0);

或者

mScrollView.scrollTo(0, 0);

但是经过我的测试使用,是不可以的。现有一个方法能解决:使用该布局最顶部的ScrollView中最顶部的那个控件View、layout都行,让后使用这几行代码使其获取焦点就行了;如下所示:

view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.requestFocus();

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Android)