标签: android-scrollbar

如何在Lollipop 5.1上处理快速滚动条?

背景

我做了一个小库,它展示了如何模仿运行Android Lollipop的股票联系人应用程序的风格,在这里.

问题

似乎在Android 5.1上,快速滚动器看起来与前一个非常不同,并且它太靠近右侧,因此很难使用它.

Android 4.4的屏幕截图:

在此输入图像描述

这是Android 5上的截图:

在此输入图像描述

在Android 5.1上:

在此输入图像描述

我发现了什么

我试图浏览Android 5.1的所有"新内容"部分,以及一些相关的类文档,但除了" setFastScrollStyle " 之外我没有找到任何特别的内容.但是,我找不到任何解释如何使用它(加上它来自API 21,所以这可能不是原因).

这个问题

如何使快速滚动条位于左侧,以便更容易触摸它?

你如何使用setFastScrollStyle?有没有这方面的教程?

android android-listview fastscroll android-scrollbar android-5.0-lollipop

6
推荐指数
2
解决办法
4221
查看次数

horizo​​ntalscrollview的fillviewport禁用滚动?

我有这个布局,如果我不在我的Horizo​​ntalScrollView中使用fillviewport = true,它的缩放很奇怪(可能是由于不可靠的布局嵌套).

当fillviewport = false时,一切都工作很好(除了奇数缩放),但是当fillviewport = true时,缩放是完美的但不会发生滚动.

这是布局(注意:我知道你不应该在滚动视图中放置webview.但是webview没有smoothscrollto也没有公开setscroller方法,所以...... bleh.)

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webContainer"
    android:layout_below="@+id/titlebar"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">
    <WebView 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webZ"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    />
</HorizontalScrollView>
Run Code Online (Sandbox Code Playgroud)

设置android:fillViewport ="true"通常不会禁用视图中的滚动,是吗?

它应该确保滚动视图填充视口而不管其内容的大小,是吗?我认为视口是屏幕的可见区域,并且在webview中可见区域的边缘肯定有更多内容,我只是无法再滚动到它.

我可以从logcat看到正在调用滚动方法,它们只是不改变屏幕.(除非我将fillviewport设置为false.)

android android-layout android-scrollbar

5
推荐指数
1
解决办法
9504
查看次数

是否可以禁用Android webview中的所有滚动和缩放?

我试图找到答案,但迄今为止失败了.

我有一个使用a的活动WebView.显示给用户的所有内容都以HT​​ML和JavaScript呈现.也就是说,WebView它可以占用所有屏幕.APK用于存储某些持久数据并启动WebView.

用户界面底部有一个基于图标的导航菜单(屏幕底部有5个图标),顶部有一些视觉元素(徽标图像和搜索按钮).顶部元素和底部导航栏之间的所有内容都可以根据用户操作进行更改,刷新或更新.可以向左,向右,向上和向下滑动在顶部和底部常量之间显示的各种HTML布局.

问题: 当用户点击屏幕右下方最右侧的导航图标时,整个WebView布局向左移动5-10像素.如果在其左边缘附近点击最右侧的图标,则不会发生这种情况.点击另一个图标会将WebView背部移动到正确的对齐位置.点击最左侧的图标不会导致与右侧类似的行为.在屏幕的任一边缘附近点击活动或非活动HTML元素(可以通过滑动移动)不会导致移位行为.

最初屏幕右侧的区域在WebView移动时充满了白色,我认为它是一个ScrollBar.我已经做了所有的事情ScrollBar并且缩放禁用我可以.现在,当移位发生时,该区域是背景颜色(黑色).

有没有人知道如何锁定烧伤WebView

android android-webview android-scrollbar

5
推荐指数
1
解决办法
2793
查看次数

修改快速滚动字母泡泡

我正在尝试更改滚动条中包含字母的气泡.

BTW的官方名称是什么?

我不是在谈论右侧的fastScrollThumbDrawablefastScrollTrackDrawable.见下图.

在此输入图像描述

  1. 如何改变这个泡泡的颜色?

这个答案使用colorAccent.但我不想影响主题.

  1. 如何改变这个泡沫的位置?

Huby对如何处理Lollipop 5.1快速滚动的答案给出了改变泡泡位置的部分答案

android fastscroll android-scrollbar material-design android-5.1.1-lollipop

5
推荐指数
0
解决办法
1125
查看次数

更改RecyclerView滚动条宽度

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ddd"
        android:fadeScrollbars="true"
        android:scrollbarSize="12dp"
        android:orientation="vertical"
        android:scrollbars="vertical"/>
Run Code Online (Sandbox Code Playgroud)

我正在测试5.1.1上的代码.改变android:scrollbarSize没有效果.我尝试增加和减少它,没有变化.

如何改变宽度?

android android-scrollbar android-recyclerview recyclerview-layout

4
推荐指数
2
解决办法
5222
查看次数

Android:使多行edittext可滚动,在垂直滚动视图中禁用

我正在开发一个应用程序,其中我是一个结构点.

根据我的应用程序要求,我在xml中创建了水平scrollview,然后在.java中创建了垂直scrollview:

// Vertical Scroll view in Linear layout
ScrollView scrollView = new ScrollView(this);
scrollView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
Run Code Online (Sandbox Code Playgroud)

然后我以编程方式创建了一个表视图,并将其添加到scrollview中.我创建了多行编辑文本并禁用它,因为我想在运行时设置文本并将其作为一行添加到表视图中.

EditText editText = new EditText(this);
editText.setId(1);
editText.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,0f));
editText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
editText.setGravity(Gravity.TOP|Gravity.LEFT);
editText.setHint("Comment");
editText.setSingleLine(false);
editText.setLines(5);
editText.setMaxLines(5);
editText.setText(CommentFromDB);
editText.setEnabled(false);

tableLayout.addView(editText);

// Add table in Horizontal scroll view
scrollView.addView(tableLayout);
Run Code Online (Sandbox Code Playgroud)

现在我想使编辑文本可滚动,我通过代码实现:

editText.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View view, MotionEvent event) {
            if (view.getId() == 1) {
                view.getParent().requestDisallowInterceptTouchEvent(true);
                switch (event.getAction()&MotionEvent.ACTION_MASK){
                case MotionEvent.ACTION_UP:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                case MotionEvent.ACTION_DOWN:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }
            }
            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是edittext不容易滚动.我需要平滑滚动.

怎么做请指导我.

android android-ui android-scrollbar android-edittext android-scrollview

3
推荐指数
2
解决办法
1万
查看次数

使ListView Scrollbar与众不同,更有用

我见过很多Android应用程序,它们有一个ListView,与我的ListViews存在一些差异.在ListView Scroll栏中,如下所示:

在此输入图像描述

在上面的图片中,当您滚动列表时,将显示滚动条,您可以触摸它并更容易滚动.

但在我的应用程序中看到这样:

在此输入图像描述

这是我的布局xml代码:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:paddingBottom="4dp"
        android:text="@string/do"
        android:textSize="16dp" />

    <ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/main_background"

        >
    </ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我曾多次用Google搜索,但我没有找到任何技巧.任何人都可以帮助我如何使我的卷轴像图片一样?

android android-listview android-scrollbar

2
推荐指数
1
解决办法
1638
查看次数

像这样漂亮干净的android滚动?(带图片)

如何让我的Android滚动条看起来像这样?(见图片链接)....我正在开发我的第一个Android应用程序.我是Android的新手,有时最简单的事情可能是一个挑战.任何人都可以指出我正确的方向.谢谢.

在此输入图像描述

android android-scrollbar android-scroll android-styles

1
推荐指数
1
解决办法
191
查看次数

java.lang.IllegalStateException:从第0行col 0获取字段槽失败

嘿,我正在尝试使用AlphabetIndexer实现FastScroller.我正在列表视图中使用500个联系人对其进行测试.

当试图快速滚动它时,它返回以下错误:

java.lang.IllegalStateException:从第0行col 0获取字段槽失败

在这个方法中:

@Override
public int getPositionForSection(int section)
{
    return mAlphaIndexer.getPositionForSection(section);
}
Run Code Online (Sandbox Code Playgroud)

我支持这个:mAlphaIndexer.getPositionForSection(section)返回'0',因为我已经用这条线放了一个Log.并且错误出现在Log中,而不是返回.

编辑:

LogCat中显示的错误使我感到困惑和担心,因为我正在尝试在列表视图中设置图像和文本以及复选框,因此对于每个视图,我设置了图像和文本视图以及复选框.而这个错误出现了:

ERROR/CursorWindow(24241):需要增长:mSize = 1048576,size = 7702,freeSpace()= 3474,numRows = 135 ERROR/CursorWindow(24241):没有增长,因为已经有135行,最大大小1048576错误/光标(24241):为134b的blob分配7702个字节失败

我想这是因为它的大小,因为我正在测试在ListView中创建超过1000个项目.这可能是错误吗?

它也显示在LogCat上:

ERROR/CursorWindow(24098):字段槽0,0的请求不正确.numRows = 0,numColumns = 0

这是我的CursorAdapter构造函数:

public MyCursorAdapter(Context context, Cursor cursor, ArrayList<Integer> ids) 
        {
            super(context, cursor);
            try
            {           

                mAlphaIndexer = new AlphabetIndexer(cursor, cursor.getColumnIndexOrThrow("Name")," ABCDEFGHIJKLMNOPQRSTUVWXYZ");
            mAlphaIndexer.setCursor(cursor);
            if(!cursor.isClosed() && cursor != null)
            {
                Log.i("MyCursorAdapter", "Cursor opened and not null " + cursor);
            }
            this.mSelectedIndividuals = ids;
            catch(IllegalArgumentException ex)
            {
                Log.e("MyCursorAdapter", "Error: " …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-scrollbar

0
推荐指数
1
解决办法
7285
查看次数

自动向下滚动文本视图

我的应用程序有3个组件,顶部有1个textview(inputType:textMultiline,scrollbar:vertical,gravity:bottom | right),中间有1个editview,底部有1个按钮.当我在editview上输入内容并单击按钮时,编辑视图上显示的文本将显示在textview上.每次我点击确定,文本显示底部,显示的是前三个输入.我必须向下滚动textview才能看到我的最后一个输入.

现在,我希望我的用户在他们的textview上看到他们的最后一个输入.我想知道每次在其上输入新文本时是否存在用于文本视图的自动滚动的代码.我是开发Android应用程序的新手.谢谢!

android android-scrollbar

0
推荐指数
1
解决办法
8136
查看次数