Questions tagged «android-scrollview»

一个Android小部件,如果该小部件太大,无法滚动到屏幕的可见区域,则该小部件可以滚动。


23
ScrollView中的RecyclerView无法正常工作
我正在尝试实现一个包含RecyclerView和ScrollView的布局。 布局模板: <RelativeLayout> <ScrollView android:id="@+id/myScrollView"> <unrelated data>...</unrealated data> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/my_recycler_view" /> </ScrollView> </RelativeLayout> 问题:我可以滚动到的最后一个元素 ScrollView 我尝试过的事情: ScrollView(现在ScrollView包含RecyclerView)内的卡片视图-可以看到卡片向上直到RecyclerView 最初的想法是viewGroup使用RecyclerView而不是ScrollView其中一种类型的views 来实现此功能,CardView但是我得到了与完全相同的结果ScrollView

30
滚动视图内的Android列表视图
我有一个Android布局,其中有一个 scrollView许多元素。在scrollViewI 的底部,有一个listView然后由适配器填充。 那我遇到的问题是,Android是不包括listView从scrollView作为scrollView已经具有滚动能够功能。我希望listView内容尽可能长,并且主滚动视图可滚动。 我该如何实现这种行为? 这是我的主要布局: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:fillViewport="true" android:gravity="top" > <LinearLayout android:id="@+id/foodItemActvity_linearLayout_fragments" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> </ScrollView> 然后,我以编程方式将组件添加到id为的linearlayour中foodItemActvity_linearLayout_fragments。以下是载入该线性布局的视图之一。这是给我麻烦的卷轴之一。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/fragment_dds_review_textView_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Reviews:" android:textAppearance="?android:attr/textAppearanceMedium" /> <ListView android:id="@+id/fragment_dds_review_listView" android:layout_width="match_parent" android:layout_height="wrap_content"> </ListView> </LinearLayout> 然后,我的适配器将填充此列表视图。 这是当我单击主scrollView时来自android层次结构查看器的图像: 如您所见,它不包括评论listView。 我应该能够向下滚动页面并查看8条评论,但相反,它只向我显示这3条评论,并且我可以滚动查看评论所在的微小部分。我想要全局页面滚动

8
ScrollView触摸处理中的Horizo​​ntalScrollView
我有一个ScrollView围绕着我的整个布局,因此整个屏幕都是可滚动的。我在此ScrollView中拥有的第一个元素是Horizo​​ntalScrollView块,它具有可以水平滚动的功能。我已经在水平滚动视图中添加了ontouchlistener来处理触摸事件,并强制视图“捕捉”到ACTION_UP事件上最接近的图像。 因此,我想要的效果就像普通的android主屏幕,您可以在其中滚动到另一屏幕,并且在松开手指时可以捕捉到一个屏幕。 除一个问题外,所有其他方法都很好用:我需要几乎完全水平地从左向右滑动才能使ACTION_UP注册。如果我至少在垂直方向上滑动(我认为很多人在左右滑动时倾向于在手机上滑动),那么我会收到ACTION_CANCEL而不是ACTION_UP。我的理论是,这是因为horizo​​ntalscrollview在scrollview中,并且scrollview劫持了垂直触摸以允许垂直滚动。 如何仅从水平滚动视图中禁用滚动视图的触摸事件,但仍允许在滚动视图中的其他位置进行正常的垂直滚动? 这是我的代码示例: public class HomeFeatureLayout extends HorizontalScrollView { private ArrayList<ListItem> items = null; private GestureDetector gestureDetector; View.OnTouchListener gestureListener; private static final int SWIPE_MIN_DISTANCE = 5; private static final int SWIPE_THRESHOLD_VELOCITY = 300; private int activeFeature = 0; public HomeFeatureLayout(Context context, ArrayList<ListItem> items){ super(context); setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); setFadingEdgeLength(0); …


13
ScrollView中的Recyclerview无法平滑滚动
对于我的应用我使用的是RecyclerView内部的ScrollView,其中RecyclerView有基于使用其内容的高度这个库。滚动正常,但在上滚动时效果不佳RecyclerView。当我滚动ScrollView自身时,它会平滑滚动。 我用来定义的代码RecyclerView: LinearLayoutManager friendsLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext(), android.support.v7.widget.LinearLayoutManager.VERTICAL, false); mFriendsListView.setLayoutManager(friendsLayoutManager); mFriendsListView.addItemDecoration(new DividerItemDecoration(getActivity().getApplicationContext(), null)); 该RecyclerView在ScrollView: <android.support.v7.widget.RecyclerView android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:id="@+id/friendsList" android:layout_width="match_parent" android:layout_height="wrap_content" />


15
Android-如何制作可滚动的constraintlayout?
我想制作一个可以让我使用约束布局向下滚动的布局,但是我不知道该怎么做。应该是ScrollView这样的父母ConstraintLayout吗? <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> <android.support.constraint.ConstraintLayout android:id="@+id/Constraint" android:layout_width="match_parent" android:layout_height="match_parent"/> 还是相反?也许有人可以给我指出一个很好的教程或举一个例子,但我似乎找不到一个。 另外,我不知道这是我尚未设置的错误还是某些配置,但是我看到过类似这样的图像: 在蓝图“蓝色矩形”之外有一些组件,但它们仍然可见,而在我这一边,如果我将组件放在“空白”上,则看不到它或将其移动到任何地方,并且它出现在组件树中。 更新: 我找到了一种在设计工具中使约束布局可滚动的方法,即使用水平指导线向下推约束布局边界并将其扩展到设备之外,之后,您可以将该准则用作约束布局的新底部,以锚定组件。


16
以编程方式禁用ScrollView?
我想启用ScrollView并通过单击按钮禁用它。 禁用意味着ScrollView不存在..并启用它返回ScrollView。 我想要这样做是因为我有一个带有文本图像的画廊,然后单击按钮,屏幕方向会发生变化,因此在“横向”中,文本会变大。而且我希望使用ScrollView,以便图像不会自身拉伸并且文本变得不可读。 scrollview.Enabled=false / setVisibility(false) 什么都不做。 xml: <ScrollView android:id="@+id/QuranGalleryScrollView" android:layout_height="fill_parent" android:layout_width="fill_parent"> <Gallery android:id="@+id/Gallery" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="horizontal"></Gallery> </ScrollView> 谢谢 Edit1:我不能使用“可见性”,因为那样会同时隐藏Gallery,所以我想隐藏ScrollView的效果。当使用ScrollView时,“图库”中的图像将变为滚动状态,并且不适合屏幕,因此您必须滚动才能查看整个图像,我不想在单击按钮时禁用/启用该功能。 我尝试了这个: ((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setOnTouchListener(null); ((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setHorizontalScrollBarEnabled(false); ((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setVerticalScrollBarEnabled(false); ((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setEnabled(false); 但是图库中的图像仍然可以滚动并且不适合屏幕。.解决方案是什么?

7
加载数据后如何防止滚动视图滚动到Web视图?
所以我有一个令人着迷的问题。尽管我没有手动或以编程方式滚动视图,但加载内部数据后,WebView仍会自动滚动到。 我在viewpager中有一个片段。当我第一次加载寻呼机时,它会按预期工作,并且显示所有内容。但是,一旦我“翻转页面”,数据就会加载,并且WebView会弹出到页面顶部,将其上方的视图隐藏起来,这是不希望的。 有谁知道如何防止这种情况的发生? 我的布局看起来像这样: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/background" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/article_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="2dp" android:text="Some Title" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/article_title" android:textStyle="bold" /> <LinearLayout android:id="@+id/LL_Seperator" android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:background="@color/text" android:orientation="horizontal" > </LinearLayout> <WebView android:id="@+id/article_content" android:layout_width="match_parent" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_height="wrap_content" …

10
弹出软键盘时页面滚动
我有一个<ScrollView>布局: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_scrollview" android:layout_width="fill_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <EditText android:id="@+id/input_one" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center" android:inputType="number" > <EditText android:id="@+id/input_two" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center" android:inputType="number" > <EditText android:id="@+id/input_three" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center" android:inputType="number" > <Button android:id="@+id/ok_btn" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="20dp" android:text="@string/ok_str" /> </LinearLayout> </ScrollView> 如上所示,简单的布局包括三个输入字段和一个“确定”按钮。 我以上述布局运行我的应用程序,当我点击第一个输入字段(@+id/input_one)时,软键盘将从屏幕底部弹出,它隐藏了第三个输入字段和“确定”按钮。 自从我使用以来<ScrollView>,我想可以向上滚动页面以查看软键盘隐藏的第三个输入字段和“确定”按钮,但是该页面不可滚动。为什么?如何摆脱它?基本上,我希望看到每个输入字段和“确定”按钮,甚至弹出的软键盘也是如此。

15
Recyclerview在滚动期间更改项目
我有一个RecyclerView。每行都有一个播放按钮,textview和Progressbar。当单击“播放”按钮时,必须播放sdcard中的音频并必须进度条。问题是,当我向下滚动recyclerview时,更改下一行的进度条。这意味着我一次可以在屏幕上容纳5个项目。当我滚动到第六行时,第六行搜索栏突然改变。 public class ListAdapter extends RecyclerView.Adapter { private List<Historyitem> stethitems; public Context mContext; public Activity activity; public Handler mHandler; static MediaPlayer mPlayer; static Timer mTimer; public ListAdapter(Activity activity,Context mContext,List<Historyitem> stethitems) { this.stethitems = stethitems; this.mContext = mContext; this.activity = activity; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { View …

12
检测ScrollView的结尾
我有一个应用程序,该应用程序的活动使用ScrollView。我需要检测用户何时到达底部ScrollView。我做了一些谷歌搜索,我找到了解释的页面。但是,在这个例子中,这些家伙扩展了ScrollView。如我所说,我需要扩展Activity。 因此,我说“好吧,让我们尝试使自定义类扩展ScrollView,覆盖onScrollChanged()方法,检测滚动的结尾并采取相应的措施”。 我做了,但是在这一行: scroll = (ScrollViewExt) findViewById(R.id.scrollView1); 它抛出一个 java.lang.ClassCastException。我更改了<ScrollView>XML中的标签,但是显然不起作用。我的问题是:为什么,如果ScrollViewExt延伸ScrollView,会丢给我一个ClassCastException?有什么方法可以检测滚动结束而不会造成太多混乱? 谢谢大家 编辑:如所承诺的,这是我重要的XML片段: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/textterms" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" android:textColor="@android:color/black" /> </ScrollView> 我将其从更改TextView为WebView,以便能够证明其中的文本。我要实现的是“接受按钮直到合同的条款全部阅读后才激活”的东西。我的延伸班级叫ScrollViewExt。如果我更改标签ScrollView,ScrollViewExt它会抛出一个 android.view.InflateException: Binary XML file line #44: Error inflating class ScrollViewExt 因为它不了解标签ScrollViewEx。我认为这没有解决方案... 感谢您的回答!

6
如何使布局在水平和垂直方向上滚动?
我正在使用TableLayout。对于此布局,我需要同时进行水平和垂直滚动。默认情况下,我能够在视图中进行垂直滚动,但是水平滚动不起作用。 我正在使用Android SDK 1.5 r3。我已经尝试过了android:scrollbars="horizontal"。 我在一些论坛上读到,在纸杯蛋糕更新中,可以水平滚动。 如何使布局在两个方向上滚动?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.