在android中设置Scrollview内的Viewpager高度

2023-12-27

我必须在滚动视图内显示一个视图寻呼机(寻呼机行中图像下方的图像和文本)。我正在从网络下载图像、文本并显示在寻呼机行中。我将 viewpager 包装在 srollview 中以支持横向模式。

 <com.xxx.myapp.android.ui.CustomScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:fadingEdge="none"
    android:fillViewport="true"
    android:gravity="center">

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

        <android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="800dp"
            android:layout_gravity="top"
            android:layout_marginTop="10dp" />  
    </LinearLayout>
</com.xxx.myapp.android.ui.CustomScrollView> 

这是自定义滚动视图 https://stackoverflow.com/a/2655740。问题是如何根据其子项高度设置视图寻呼机高度,以便我可以滚动屏幕直到视图寻呼机项目仅结束。如果我将视图寻呼机高度设置为wrapcontent,则视图寻呼机中不会显示任何内容。如果我设置 800dp,那么我可以看到寻呼机项目,但屏幕上有不必要的滚动。我不希望我的滚动视图滚动到寻呼机儿童高度之外。请帮我。


要固定 viewpager 的高度,我们可以自定义 viewpager 类。

public class WrapContentViewPager extends ViewPager {

private int mCurrentPagePosition = 0;

public WrapContentViewPager(Context context) {
    super(context);
}

public WrapContentViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    try {
        View child = getChildAt(mCurrentPagePosition);
        if (child != null) {
            child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
            int h = child.getMeasuredHeight();
            heightMeasureSpec = MeasureSpec.makeMeasureSpec(h, MeasureSpec.EXACTLY);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

public void reMeasureCurrentPage(int position) {
    mCurrentPagePosition = position;
    requestLayout();
}
}

其中应在 viewpager onPageSelected 回调中调用此 reMeasureCurrentPage。CustomScrollView 是父视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在android中设置Scrollview内的Viewpager高度 的相关文章

  • 如何获取之前的碎片?

    为了在我的应用程序中重用某些片段 我需要知道哪个片段是返回堆栈上的第二个片段 为了做到这一点 我正在使用getFragmentManager getFragments 显示以下错误 但有效 FragmentManager getFragme
  • onBeaconServiceConnect 未调用

    和以前一样 我使用 Android Beacon 库 它已经工作了 我可以通过 BLE 低功耗蓝牙找到信标 但是现在 更新到最新版本的库后 现在方法onBeaconServiceConnect 不再跑了 请告诉我我需要做什么才能让它发挥作用
  • 如何强制 Eclipse 将 xml 布局和样式显示为文本?

    我最近升级到带有 ADT 20 0 3 的 Eclipse 4 2 Juno 如果我查看旧项目中的布局或样式 Eclipse 只会向我显示其适当的基于控件的编辑器 我想编辑语法突出显示的 xml 文本 我没有找到将插件的编辑器切换到此模式的
  • 在android中通过BLE传输图像

    我使用以下代码传输 1 MB 的图像 如果在每个数据包之间实现线程延迟 则图像将成功传输 如果未设置线程延迟 则所有数据包均从BluetoothGattServer 发送 但BluetoothGattCallback 不会接收所有数据包 任
  • Manifest Merger工具:替换失败

    我正在使用一个使用自己的 android theme 的库 因此在构建时收到以下错误 错误 55 9 任务 contacit processDebugManifest 执行失败 清单合并失败 AndroidManifest xml 中的属性
  • FTS3 在 ORMLite 中搜索?

    我对 FTS3 一无所知 除了http developer android com guide topics search search dialog html http developer android com guide topics
  • 自定义选择器活动:SecurityException UID n 无权 content:// uri

    我正在构建一个选择器应用程序来替换本机 Android 共享对话框 它工作正常 除非我尝试通过长按图像 gt 共享图像从 Chrome 共享图像 我发现 Google 没有捕获异常 它崩溃了 所以我可以通过 Logcat 查看它 在 Goo
  • 安卓定位不准确

    我正在尝试获取当前用户的位置 我试图重构我的代码以获得更好的结果 但我只是不断得到关于准确度的荒谬位置 它在 900 600 米之间 如何才能得到更好的结果 使其精度达到50m以内 这是我的代码 package com agam mapsl
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • Android 自定义布局 - onDraw() 永远不会被调用

    public class MainActivity extends Activity Override public void onCreate Bundle savedInstanceState super onCreate savedI
  • 如何为发布而不是调试创建密钥库?扑

    我按照使用此网站部署 flutter 的步骤进行操作https flutter io android release https flutter io android release 当我运行 flutter build apk 时出现此错
  • 放置在 NavigationDrawer 顶部的片段

    我正在尝试添加一个PreferenceFragment在我的应用程序中 问题是 它自动放置在我的顶部NavigationDrawer public class SetPreferenceActivity extends Activity O
  • 使用 gradlew assembleRelease 从 React Native 创建发布 apk 时出现错误

    我想发布 apk 但我收到错误 文件已存在 mkdir D mobile 它在 d 驱动器中生成名为 mobile 的文件 删除文件后 再次执行 gradlew assembleRelease 创建该文件并抛出错误 任务 app bundl
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • Android FragmentTransaction 自定义动画(未知动画师名称:Translate)

    我正在尝试让自定义动画与我的片段一起使用 我已按照在线教程进行操作 但出现以下错误 java lang RuntimeException 未知的动画师名称 翻译 动画的 XML 如下
  • PhoneStateListener 不调用

    这是我的完整代码 广播示例 java package com example broadcast gt import android app Activity import gt android content Context import
  • 在 Android 中调整可绘制对象的大小

    我正在为进度对话框设置一个可绘制对象 pbarDialog 但我的问题是我想每次调整可绘制的大小 但不知道如何调整 这是一些代码 Handler progressHandler new Handler public void handleM
  • react-native run-android 失败并出现错误:任务 ':app:dexDebug' 执行失败

    我使用的是 Windows 8 1 和react native cli 1 0 0 and react native 0 31 0 添加后react native maps对于该项目 我运行了命令react native upgrade并给
  • Android 后台服务示例,具有交互式调用方法

    我不是 Android 方面的专家 我正在寻找一个 Android 应用程序的示例 该应用程序使用一个服务 其中有真正的功能方法 或者换句话说 一个服务可以用来做什么 我们什么时候需要它 超越简单的东西服务举例 我确信您渴望获得一些工作代码
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android

随机推荐

  • 应用内购买可以防止软件盗版吗

    我意识到如果开发者在 Google Android Market 中发布付费应用程序 很快 付费应用程序将通过其他 Android Market 免费分发 当谈到中国市场时 盗版问题尤其严重 例如 我的水在哪里 中文 http www wa
  • 当指定 return 时,location 块中的 auth_basic 不起作用?

    我认为这会起作用 但由于某种原因它会跳过 auth basic 并始终返回 200 如果我将 200 替换为 301 重定向 也会发生同样的情况 如果我注释掉返回语句 它就可以正常工作 理想情况下我想要一个 auth一旦通过身份验证 端点就
  • C 中带有 pthread 的线程中的计时器?

    在线程中 我需要定期以不同的时间间隔做一些工作 什么是一个好的方法来做到这一点 使用 sleep 然后我需要跟踪下一次唤醒的间隔 这似乎不是最好的方法 thanks 您可以使用clock nanosleep与TIMER ABSTIME标记为
  • 如何从密钥库导出 .key 和 .crt

    当我在开发机器上构建 Android 应用程序时 我需要为应用程序提供 SSL 证书 因此我使用 Tomcat 的 keytool 生成了一个密钥库 我从密钥库中提取了证书并将其放入 bks 中以使用 android 一切顺利 现在我们必须
  • Chrome 中高度 100%

    我的一侧有问题divChrome 中的高度不会达到 100 在FF中效果很好 我在用着 html body padding 0px width 100 height 100 div min height 100 这是为什么 这对我来说在每个
  • 确认回发 OnClientClick 按钮 ASP.NET

  • 使用 Graph FQL 获取朋友当前位置的纬度/经度

    我正在尝试使用单个 API 调用来获取用户所有朋友的纬度 经度 我相信我需要编写一个多查询 FQL 语句 但我无法获得正确的语法 我相信这两个查询需要类似于以下内容 friends SELECT uid current location F
  • 检测 Swift 应用程序是否正在从 Xcode 运行

    我想以编程方式确定 iOS 应用程序是否直接从 XCode 运行 在模拟器中或在连接设备上 我已经尝试过所述的 D DEBUG 解决方案here https stackoverflow com a 30013587 630657 但是当我断
  • ARKit节点100m后消失

    我目前正在开发 ARKit SceneKit 应用程序 我注意到如果我把一个节点放在100m 节点将显示得很好 但如果我将其设置为101m或更远 它不会显示 这是距离限制吗 var translation matrix identity f
  • OpenJDK 和 com.sun.net

    我正在考虑在 com sun net 包中使用 HttpsConfigurator HttpsServer 和 HttpContext 此外 我的项目要求的一部分是使用 OpenJDK 我在 Eclipse 中编码 它不会自动从 com s
  • 如何在 make 模式规则的依赖项中使用模式相关变量

    我想使用模式相关变量中的依赖项来定义 GNU make 模式规则 我想要的是这样的 exe EXE SOURCES EXE RESOURCES CSC V CSC CSCFLAGS EXE CSCFLAGS target exe out E
  • 计数后将行转换为列[重复]

    这个问题在这里已经有答案了 我有下表 Type1 Type2 A T1 A T2 A T1 A T1 A T2 A T3 B T3 B T2 B T3 B T3 我想要输出为 Type1 T1 T2 T3 A 3 2 1 B 0 1 3 我
  • 选择单选按钮组中的单选按钮

    我是 android 新手 我正在尝试使用无线电组的示例程序 我在单选组下声明了 2 个单选按钮 我想在其中选择哪个单选按钮 无线电组 因为想要在匿名类新的 onClickListener 的 if 和 elseif 条件中使用它 我尝试声
  • 从长 UTC 时间戳到 JAVA UTC 到 EST

    我正在尝试将 UTC 长时间戳转换为东部标准时间 但我完全迷失了 任何提示都会很棒 谢谢 右 尝试这个 Date estTime new Date utcTime getTime TimeZone getTimeZone EST getRa
  • Visual Studio 2012 专家模式

    如何进入专家模式 它不在 工具 下 我需要进入专家模式才能使用 观看 功能 None
  • Web API - 405 - 请求的资源不支持 http 方法“PUT”

    我有一个 Web API 项目 但无法对其启用 PUT Patch 请求 我从 fiddler 得到的回应是 HTTP 1 1 405 Method Not Allowed Cache Control no cache Pragma no
  • 逐像素复制两个图像

    我正在尝试处理深度图中的每个像素 我正在实现图像分割 我不知道如何处理深度大于 1 的图像中的像素 此示例代码将深度图逐像素复制到另一个 cv Mat 如果我将其标准化 标准化图像的深度 1 它就可以正常工作 但它不适用于深度 3 因为 a
  • Maui AppShell - 打开导航

    我在使用 Maui AppShell 时遇到一些概念问题 当我启动我的应用程序时 我想向我的用户展示 登录页面 如果未经过身份验证 入职页面 如果他们已通过身份验证 但尚未填写基本信息 否则 主视图 但 AppShell 看起来相当静态
  • Hibernate 和其他框架或规范之间有哪些差异/相似之处?

    我想知道 Hibernate 和 Java EE 5 中的简单持久性之间的区别 相似之处 我不清楚 Hibernate 是否实现了 Java EE 5 持久性实现 或者它是否是后端系统上数据表示的完全不同的方法 我对 Hibernate 及
  • 在android中设置Scrollview内的Viewpager高度

    我必须在滚动视图内显示一个视图寻呼机 寻呼机行中图像下方的图像和文本 我正在从网络下载图像 文本并显示在寻呼机行中 我将 viewpager 包装在 srollview 中以支持横向模式