在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高度 的相关文章

  • 如何在 Android 中更改 Drawable 的颜色?

    我正在开发一个 Android 应用程序 并且我有一个从源图像加载的可绘制对象 在此图像上 我想将所有白色像素转换为不同的颜色 例如蓝色 然后缓存生成的 Drawable 对象 以便稍后使用它 举例来说 假设我有一个 20x20 PNG 文
  • 应用程序在加载 xml 布局文件的主线程中做了太多工作

    我正在制作一个 9x9 数独网格 其中 81 个单元格本身就是一个 3x3 网格 单个细胞看起来像这样 1 2 3 4 5 6 7 8 9 每个数字代表该单元格的铅笔注释 我有一个名为 cell layout xml 的文件 表示这种 3x
  • 覆盖 Android 中的电源按钮

    我正在开发一个应用程序 其中我需要在按下电源按钮时执行一个操作 但不幸的是我无法处理按下电源按钮时的操作 我尝试使用 onKeyDown 和dispatchKeyEvent 方法 但似乎没有任何效果 任何人都可以建议我解决这个问题的任何其他
  • Android 全屏对话框确认和拒绝操作

    材料设计中的全屏对话框应该在操作栏 工具栏上有确认和拒绝操作 我的问题是 我该怎么做 显示对话框 getFragmentManager beginTransaction add R id container new MyDialogFrag
  • 需要 Android webview window.open() 和 window.close() 的信息

    我正在开发一个安卓应用程序 这是我网站的 WebView 该网站包含一个弹出按钮 单击该按钮后 将打开一个新窗口并显示内容 该链接可以来自外部站点 然而 当我实现此操作时 新选项卡正在打开 之后它会弹出以打开浏览器 尽管在 Web 视图中打
  • 透明 9patch 图像:显示出线条

    我得到了一个透明的 9 补丁图像 其中有 9 条补丁线显示槽 This is the output 显然我不希望水平线可见 这就是我创建 9patch 的方式 This is the final image that is used in
  • 将 java 中的 byte[] 转换为 C++ 中的 unsigned char* 的正确方法,反之亦然?

    我是 C 和 JNI 的新手 我尝试找到一种正确的方法 通过使用 JNI 将 java 中的 byte 转换为 C 中的 unsigned char 反之亦然 我正在安卓上工作 在谷歌和SO中寻找解决方案后 我还没有找到将java中的byt
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • MIUI 权限被拒绝活动 KeyguardLocked

    当应用程序处于后台且屏幕被锁定时 我无法启动活动 没有异常或警告 只是不调用 onCreate 我一直在与这个问题作斗争 我想我终于找到了它的根源 日志中有一行 D com android server am ExtraActivityMa
  • 控制 OverlayItem 大小

    我正在构建一个在单个 ItemizedOverlay 中包含几十个 OverlayItems 的地图 我的地图设计为可以非常近距离地查看 大约缩放级别 18 并且 OverlayItems 彼此非常接近 地图放大时看起来不错 但是 如果用户
  • 当 minifyEnabled 为 true 时 Android 应用程序崩溃

    我正在使用多模块应用程序 并且该应用程序崩溃时minifyEnabled true in the installed模块的build gradle 以下是从游戏控制台检索到的反混淆堆栈跟踪 FATAL EXCEPTION Controlle
  • 如何为我的 Android Market APK 创建证书?

    我想将我的第一个 APK 应用程序上传到 Android Market 但我收到了此错误 顺便说一下 在 stackoverflow 中搜索时并没有引导我找到正确的链接 市场不接受使用调试证书签名的 APK 创建有效期至少 50 年的新证书
  • 哪个视图最亮?

    在Android中 哪个是轻量级视图 例如 View Textview Edittext 等 在某些情况下 我们需要使用视图来填充区域而不向用户显示视图 同时屏幕加载速度应该很快 您可以使用空间 android widget Space S
  • Unity c# 四元数:将 y 轴与 z 轴交换

    我需要旋转一个对象以相对于现实世界进行精确旋转 因此调用Input gyro attitude返回表示设备位置的四元数 另一方面 这迫使我根据这个四元数作为默认旋转来计算每个旋转 将某些对象设置为朝上的简单方法如下 Vector3 up I
  • 如何在android中通过蓝牙向配对设备发送短信?

    在我的应用程序中 我想通过蓝牙发送和接收短信 我可以在列表视图中看到配对设备名称和地址的列表 但是当我尝试向配对设备发送文本时 什么也没有发生 在其他设备中没有收到文本 这是我向配对设备发送消息的代码 private void sendDa
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • LifeCycleAware Fragment 中的片段生命周期事件

    我有一个生命周期感知片段和一个LifecycleObserver class public class MyFragment extends Fragment Override public void onCreate Nullable B
  • 如何访问我的 Android 程序中的联系人

    我正在制作一个短信应用程序 并且想要访问我的 Android 应用程序中的联系人 我想访问联系人 就像他们在实际联系人列表中一样 选择后 我需要返回到我的活动 在其中我可以向该人发送短信 或者是否可以访问存储联系人的数据库 我的代码如下所示
  • Android GetPTLAFormat 上的 Phonegap 错误

    我们正在开发一个使用 jQuery 移动和电话间隙的应用程序 一切似乎都工作正常 但是当在连接的 Android 手机上运行应用程序时 我们在 Eclipse logcat 中看到大量类似这样的错误 0 GetPTLAFormat inva

随机推荐

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

    我意识到如果开发者在 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 中以支持横向模式