我搜遍了所有,但找不到解决方案.
我在scrollview中有一个视图(让我们称之为myView).myView比屏幕大.由于我能够在myView中获取手指的相对 x,y位置,因此当我的手指进入某个上/下阈值时,我想让scrollView自动滚动到顶部/底部.我有一些想法,即将拖动位置转换为屏幕位置,但这并没有解决这个问题.
提前致谢
干杯
一旦ScrollView离开屏幕,它会自动滚动到底部,我该如何制作它?
我需要一个带有页眉和页脚的片段。介于两者之间的内容(当然)需要是可滚动的。到那里一切都很好。但是滚动视图内部需要是一个edittext,所以在某个时刻键盘会出现。不幸的是,键盘也会显示页脚或当我将 windowSoftInputMode 更改为 adjustPan 时,它会隐藏页眉。
简而言之,我想要实现的是页脚停留在底部,但滚动视图的内容向上滚动(当键盘将焦点放在编辑文本上时)。此外,标题需要始终可见。
关于如何实现这种行为的任何建议?
当 Activity 获得焦点时,Android 会滚动到 ScrollView 内的焦点 EditText。
如何告诉 Android 不要这样做,而是保持滚动位置?
情况:
验证方法必须滚动到 TextView 以引起用户注意。它将焦点设置到可视区域外的 EditText 以避免用户混淆(当 Android 在向下滚动后将焦点设置在最近但不相关的 EditText 上时会发生这种情况)。
用户单击一个按钮并通过 startActivityForResult 在第二个活动中输入数据。onActivityResult 在同一个 TextView 中呈现结果。现在 TextView 不再可见,因为 Android 滚动到聚焦的 EditText。
我知道这样的问题已经有答案了,但我没有任何运气,所以这是最后的手段。
我有一个包含 ScrollView 的 LinearLayout。我希望 LinearLayout 响应单击、点击、触摸您想要调用的任何内容,但 ScrollView 会产生干扰,因此永远不会调用 LinearLayout 的单击处理程序。我不介意子类 ScrollView 和覆盖 onTouchEvent (但我不明白要放入什么),但替代解决方案也很好。我已经尝试在 LinearLayout、ScrollView 和 ScrollView 的第一个子项上使用requestDisallowInterceptTouch(true),但它不起作用(TBH,该方法的 javadoc 使我感到困惑)。
如果我在自定义滚动视图中使用此覆盖:
@Override
public boolean onTouchEvent(MotionEvent event) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
... LinearLayout 确实响应点击,但完全禁用滚动,并且每种类型的触摸手势都会导致调用 LinearLayout 单击处理程序。那么,我需要做什么才能像往常一样处理滚动移动,并使 ScrollView 忽略点击/点击?
对于它的价值,XML 看起来像这样:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/my_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
.../>
<com.package.MyScrollView
android:id="@+id/my_scroller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="vertical">
...
...
Run Code Online (Sandbox Code Playgroud)
一般情况下TextView区域会检测到LinearLayout注册的点击,而ScrollView不会。
所以,我有用于井字游戏的 ScrollView、HorizantalScrollView 和 BoardView。
当用户缩放时,当我通过 ScalegestureDetector 将缩放比例重新绘制到单元格类别时,缩放比例分配在屏幕的顶部左侧,而不是捏合的中心,我如何将其分配到中心?
这是我在 github 中的项目:https : //github.com/boyfox/TestTicTac.git
项目使用 com.android.support:appcompat-v7
有人有解决这个问题的方法吗?
我已经使用 Android Studio 模板创建了一个 Scrolling Activity,这创建了一个 activity.xml 和一个 content.xml,它包含在具有 NestedScrollView 的 activity.xml 中,我在其中添加了来自适配器的 ListView 提要,起初它只显示一个项目,所以我以编程方式将它的大小设置为固定值,以便它实际上显示所有项目,我能够毫无问题地做到这一点,并且 NestedScrollView 毫无问题地包装了 ListView,但是有通过向所有元素添加背景颜色,我意识到 NestedScrollView 下方的空白区域来自 CoordinatorLayout,CoordinatorLayout 是活动中的主要标签。xml,但我无法弄清楚如何删除这个空白空间,因为如果我在 CoordinatorLayout 上使用 wrap_content ,它实际上会出于某种原因将我的内容修剪到屏幕的一半。
其他值得一提的是,如果我水平旋转手机,这个空白空间不会显示,只会出现在垂直位置。还,
有谁知道这可能是什么原因造成的?没什么大不了的,我什至可能会像这样离开它,但这对我来说很烦人,我无法弄清楚发生了什么。
这是我的activity.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
android:background="#00ff00" //Green
tools:context=".VenueActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/frog"
android:scaleType="centerCrop"
/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_venue"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_favorite_white_24dp"
app:layout_anchor="@id/app_bar"
app:layout_anchorGravity="bottom|end" …Run Code Online (Sandbox Code Playgroud) android android-scrollview android-studio android-coordinatorlayout nestedscrollview
所以我有Recyclerview一个NestedScrollView. 当我说recycleview.scrollToPosition(X)或者recycleview.getLayoutManager().scrollToPosition(X)它根本不起作用时。
如果我recycleview从nestedScrollView它移出它工作正常,但我不能这样做,因为布局结构!任何的想法?
scrollingView.requestChildFocus(recyclerView,recyclerView);
Run Code Online (Sandbox Code Playgroud)
尝试过这个,但没有专注于某个位置
android android-scrollview android-recyclerview nestedscrollview android-nestedscrollview
我有一个LinearLayout,我正在CardView像这样膨胀一个:
final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
Run Code Online (Sandbox Code Playgroud)
子视图的膨胀是通过单击按钮完成的。每当新的卡片视图膨胀时,我都想滚动到屏幕底部。我是这样做的:
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
Run Code Online (Sandbox Code Playgroud)
但这会滚动到屏幕中间而不是底部。我究竟做错了什么?
android scrollview android-layout android-scrollview android-view
我正在设计一个设置屏幕。由于可能有很多选择,我将我ConstraintLayout的ScrollView. 然而,底部有一个巨大的白色空间,我无法摆脱。我已经添加fillViewPort="true"到ScrollView如在话题无数其他答案建议。
这是我的布局文件:
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true">
<TextView
android:id="@+id/settings_security"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="16dp"
android:text="Hello there"
android:textAllCaps="true"
android:textColor="@color/holo_blue_light"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.filecloud.android.components.TopTextView
android:id="@+id/settings_enable_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:text="Hello there"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/settings_security" />
<Switch
android:id="@+id/settings_enable_lock_switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
app:layout_constraintBottom_toBottomOf="@id/settings_enable_lock"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/settings_enable_lock"
app:layout_constraintTop_toTopOf="@id/settings_enable_lock"
app:layout_constraintVertical_bias="0.5"
app:layout_constraintHorizontal_bias="1"/>
<FrameLayout
android:id="@+id/settings_change_lock"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="24dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/settings_enable_lock_switch">
<com.filecloud.android.components.TopTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello there"
android:textSize="18sp" />
</FrameLayout>
<com.filecloud.android.components.TopTextView …Run Code Online (Sandbox Code Playgroud) android android-layout android-scrollview android-constraintlayout