当前位置: 首页 > 知识库问答 >
问题:

将应用程序更改为使用AppCompat后的视图

蒲昊苍
2023-03-14

以前,我的应用程序根本不使用AppCompat,但现在我需要它,因为有几个库需要它。问题是,在我开始使用AppCompat之后,一些视图(ImageViewSeekbar)不会显示:

所改变的是,我现在使用v7支持库中的appcompatactivity(而不是activity)和theme.appcompat.light.darkactionbar(而不是Android:theme.holo.light.darkactionbar)。

布局的hieararchy如下:

我知道这很复杂,但这是我能够实现我想要的唯一方法。(使用前台FrameLayout,这样当特定的弹出对话框打开时,我就可以调暗应用程序的其余部分。网格是通过使用多个LinearLayouts来实现的。为了获得垂直的搜索栏,我需要使用一个包含搜索栏的FrameLayout,然后旋转它。红色和蓝色的“瓷砖”实际上是FButtons)

我怎么解决这个?我看不到ImageButtons和SeekBar的原因是因为太多的嵌套视图吗?

共有1个答案

郑富
2023-03-14

我可以复制这个问题,这太奇怪了。但是,通过将Android:elevation=“2dp”添加到ImageView的RelationVelayout中,我设法显示了ImageViewsSeekbar。我知道这不是一个解决方案,此外这个属性是为Android API>=21。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:elevation="2dp">
        // ImageViews and SeekBar here
        ...
</RelativeLayout>

将其放入值/styles.xml中:

<style name="my_style">
    // let this empty
</style>

将其放入值-v21/styles.xml:

<style name="my_style">
    <item name="android:elevation">5dp</item> // above 2dp apparently...
</style>

并将style=“@style/my_style”添加到每个relationvelayout中。

<RelativeLayout
    style="@style/my_style"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
        // ImageViews and SeekBar here
        ...
</RelativeLayout>

在再挖一点的时候,我发现了这个。

 类似资料:
  • 问题内容: 我曾经运行过Flask应用。如果将变量更改为,则Gunicorn给出错误。为什么会出现此错误,我该如何解决? myproject.py: wsgi.py: 问题答案: Gunicorn(和大多数WSGI服务器)默认在你指向的模块中查找可调用的名称。添加别名或将使再次发现可调用对象。 但是,wsgi.py不需要文件或别名,Gunicorn可以直接指向实际模块并可以调用。 Gunicorn

  • 如果<code>targetSdkVersion 我的应用程序< code>targetSdkVersion是27版本,我运行在< code>8.0.0[26]设备上。我得到了下面链接中描述的< code > IllegalStateException ,因为我使用了一个对话框< code>Activity。 只有全屏不透明的活动才能请求方向 有两个建议的选项。从中删除或将更改为26。这两个解决方

  • 据Play Console透露,新app将从8月起改为SDK 29,除非从11月起更新,否则无法上传。将目标SDK改为29后,app异常结束。日志为: w/abc.def:访问隐藏字段landroid/view/layoutinflater;->mconstructorargs:[ljava/lang/object;(greylist-max-p,reflection,denied) D/Andr

  • 当我在Google Play上提出我的应用程序时,这向我展示了问题 您的应用程序当前以API级别25为目标,并且必须至少以API级别26为目标,以确保其基于针对安全性和性能优化的最新API构建。将应用程序的目标API级别更改为至少26 注意,我使用Unity 您已将sdk更新为最新版本 请帮助我如何在Unity中将API级别更改为至少26 谢啦

  • 我运行tomcat服务器并在浏览器上放置。但它没有显示在我的应用程序主页上。只需显示tomcat主页。 请,在哪里和如何改变出现我的主页 [信息]在http://localhost:8080/上运行war [信息]在d:\tutorial2\zayarmyat2\first-web-application\target\Tomcat中使用现有的Tomcat服务器配置