我有一个HorizontalScrollView包含a LinearLayout,其中包含几个FrameLayouts.每个都FrameLayout包含一个的布局Fragment.现在我正在尝试获取视图,即FrameLayout当前可见或焦点在视图内HorizontalScrollView.只要我有焦点的视图,我就可以得到它的索引LinearLayout.
我尝试了以下,但没有任何作用:
FrameLayouts 返回false我还可以LinearLayout通过根据每个孩子的当前X位置进行计算来确定哪个孩子有焦点.但是,呼叫getX()每个孩子总是返回"0.0".
有没有人知道如何获得焦点的视图(甚至更好的是它的索引LinearLayout)?
我是Android的新手 -
我在屏幕上放了一个滚动视图,我只是在里面放了一些文字.我这样做是因为在某些手机上文字会在屏幕上运行.
我遇到的问题是我放在页面上的滚动视图比它所拥有的内容更长 - 手机屏幕越窄,滚动视图就越长.
<?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="wrap_content"
android:fillViewport="true" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/app_background"
android:orientation="vertical"
android:padding="10dp" >
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="20"
android:inputType="textMultiLine"
android:lineSpacingExtra="3dp"
android:text="Get ready to melt fat and burn calories with Fit Body Boot Camp's 14 Day Fat Furnace Workout Program! This is a detailed 14 Day Workout plan based on Fit Body Boot Camp's Unstoppable Fitness Formula that has been implemented in close to 300 boot camps worldwide by hundreds of thousands …Run Code Online (Sandbox Code Playgroud) 我已经用谷歌搜索了很多来解决这个问题,但是在任何情况下都行不通。尝试了具有videoview 的ScrollView和Android Scrollview 内的Android :: VideoView中提到的所有操作,都出现了问题。
问题是当我将视频视图放入scrollview时不起作用,但是当删除scrollview时,它确实可以正常工作。
这是示例代码:
// xml file
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/btn_video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="start" />
<ScrollView
android:id="@+id/scrl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_video" >
<VideoView
android:id="@+id/videoView_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</ScrollView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
和Java代码,MainActivity类
package com.practice.videoviewexample;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.widget.Button;
import android.widget.VideoView;
public class MainActivity extends Activity {
private VideoView videoView_exhibit;
private Button btnVideo;
@Override
protected void …Run Code Online (Sandbox Code Playgroud) 我必须在全屏模式下开发一个应用程序,现在我有一个带有一些textEdits和一些按钮的公式编辑器。如果键盘弹出,它将隐藏两个按钮,因此我将所有内容都放入了滚动视图:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip"
tools:context="controller.RegsiterActivity" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/register_textview_firstname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:singleLine="true"
android:text="@string/text_firstname" />
<EditText
android:id="@+id/register_textedit_firstname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:inputType="text" />
<TextView
android:id="@+id/register_textview_lastname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:singleLine="true"
android:text="@string/text_lastname" />
<EditText
android:id="@+id/register_textedit_lastname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:inputType="text" />
<TextView
android:id="@+id/register_textview_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:singleLine="true"
android:text="@string/text_email" />
<EditText
android:id="@+id/register_textedit_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:inputType="textEmailAddress" />
<TextView
android:id="@+id/register_text_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:singleLine="true"
android:text="@string/text_password" />
<EditText
android:id="@+id/register_textedit_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:inputType="text" />
<Button
android:id="@+id/register_button_register"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button_register" /> …Run Code Online (Sandbox Code Playgroud) 我有一个ScrollView带一个LinearLayout带TextView秒。我想检测何时ScrollView向上或向下滚动以隐藏/显示ActionBar。
我们的应用程序的主要内容是CardView的RecylerView.对于注册,我们需要的不仅仅是用户名/密码来创建帐户,因此我们决定在注册后使用CardView的注册流程来匹配用户体验.
要做到这一点,我有一个Activity从底部动画片段,从顶部动画片段以模拟滚动.当用户输入数据并且在前进之后点击时发生这种虚假滚动.除了一个案例之外,这很有效.当我们有一个EditText用于输入时,键盘会出现并覆盖屏幕底部的"下一个"按钮.
在我们的用户测试中,我们注意到很大比例的用户试图将卡片向上滚动以转到下一个按钮而不是解除键盘.
我花了很多时间试图让CardView向上滚动以显示按钮并且我没有想法并且正在寻找新的想法.
注册活动布局仅包含我将Fragments加载到的FrameLayout.每个加载的片段都有一个用于根布局的CardView.
在清单中,我已将活动的windowsSoftInputMode设置为adjustResize,adjustPan收效甚微.
activity_signup.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/signUpContent"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Run Code Online (Sandbox Code Playgroud)
简化了fragment_enter_code.xml
<android.support.v7.widget.CardView
style="@style/CardViewStyle.SignUp"
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="wrap_content"
app:cardCornerRadius="25dp"
app:cardElevation="2dp"
app:cardUseCompatPadding="true"
app:contentPadding="8dp">
<EditText
android:id="@+id/codeEditText"
style="@style/HintedEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Code"
android:inputType="text"/>
<Button
style="@style/NextButton"
android:id="@+id/nextButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:text="@string/next"/>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
当我尝试将CardView放在ScrollView中的cardview布局(使用fillViewport为true)时,我得到一个滚动条,但是卡片没有滚动,卡片视图布局搞砸了.
有谁知道windowSoftInputMode足以让我指向正确的方向?或者CardView是不是要在设计用于容纳它们的Container之外滚动?
感觉就像解决这个问题的方法是操纵活动的视图而不是片段.
我正在用Java创建一个Android应用程序,我<TextView>在屏幕上有很多,所有这些都定义了onTouchListeners.它们被包裹在一起,<ScrollView>因为它们占据的空间比屏幕上的空间大.
我的问题是:当我向上/向下滚动应用程序时,通过触摸屏幕并向上/向下移动我的手指,滚动按预期工作,但触摸的onTouchListener <TextView>也被触发(这也可能是预期的) -我不希望这发生.我想在触摸屏幕滚动它时忽略onTouchListener.
我怎么能做到这一点?我不想让我的函数在用户滚动时运行,并且"意外地"触发某个onTouchListener <TextView>.
我尝试设置android:scrollbars="none"ScrollView的属性,但问题是在输入信息时键盘已启动然后如果您尝试滚动则不会滚动直到布局结束.
我使用<ScrollView>布局中标记内的代码行隐藏滚动条
android:scrollbarThumbVertical="@null"
Run Code Online (Sandbox Code Playgroud)
它在三星s4设备上运行得很好,但在LG它崩溃时有以下异常 -
FATAL EXCEPTION: main
java.lang.NullPointerException
at android.widget.ScrollBarDrawable.setAlpha(ScrollBarDrawable.java: 221)
at android.view.View.onDrawScrollBars(View.java: 11306)
at android.view.View.draw(View.java: 13567)
at android.widget.FrameLayout.draw(FrameLayout.java: 467)
at android.widget.ScrollView.draw(ScrollView.java: 1752)
at android.view.View.getDisplayList(View.java: 12512)
at android.view.View.getDisplayList(View.java: 12556)
at android.view.View.draw(View.java: 13285)
at android.view.ViewGroup.drawChild(ViewGroup.java: 2931)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java: 2801)
at android.view.View.draw(View.java: 13564)
at android.view.View.getDisplayList(View.java: 12512)
at android.view.View.getDisplayList(View.java: 12556)
at android.view.View.draw(View.java: 13285)
at android.view.ViewGroup.drawChild(ViewGroup.java: 2931)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java: 2801)
at android.view.View.draw(View.java: 13564)
at android.widget.FrameLayout.draw(FrameLayout.java: 467)
at android.view.View.getDisplayList(View.java: 12512)
at android.view.View.getDisplayList(View.java: 12556)
at android.view.View.draw(View.java: 13285)
at android.view.ViewGroup.drawChild(ViewGroup.java: 2931)
at …Run Code Online (Sandbox Code Playgroud) 我Scrollview在一些layouts我是 android 新手下留下空间,请帮助这里是我的代码:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollviewdb"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="15sp"
android:padding="5dp"
android:id="@+id/ghavaed_text"/>
</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud) 我的申请中有问题.我有主要清单(回收者视图).此列表保留20个水平回收站视图.它看起来非常类似于Netflix应用程序.我需要在主列表中保留每个"轮播"的状态.如果我将第一个项目向右移动,向左移动,向下滚动(第一个和第二个项目被回收),旋转屏幕,向上滚动,我需要恢复第一个和第二个元素的位置.
我知道我应该使用linearLayout.saveOnInstanceState和onRestoreState但我的问题是每个轮播都在主列表中.
configChanges 在AndroidManifest.xml中无法发挥作用......
谢谢!
android android-layout android-scrollview android-view android-recyclerview