当放置在 ViewFlipper 上时,ImageView 上的背景属性会被忽略

发布于 2024-09-27 10:27:43 字数 1828 浏览 6 评论 0原文

我有一个包含 FrameLayout 和两个视图的 Activity。第一个是 ViewFlipper,第二个是 ImageView。如果我注释掉 ViewFlipper,活动会正确渲染 ImageView 及其背景,但是当 ViewFlipper 可见时,ImageView 的背景将被完全忽略。

这是ViewFlipper的“功能”吗?有什么办法可以解决这个问题吗?

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:background="@android:color/background_light"
       >        
    <ViewFlipper android:id="@+id/flipper"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:flipInterval="5000"
       >
                <include layout="@layout/cell_1" android:id="@+id/cell_1"/>
                <include layout="@layout/cell_2" android:id="@+id/cell_2"/>
                <include layout="@layout/cell_3" android:id="@+id/cell_3"/>
   </ViewFlipper>
    <ImageView
        android:background="@drawable/alpha_gradient_background"
        android:id="@+id/statusIcon"
        android:src="@drawable/status_icon"
        android:padding="5dp"
        android:layout_gravity="right"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:top="10dp"
        android:right="10dp"
        />
</FrameLayout> 

我的背景可绘制看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
    <stroke android:width="3dp" android:color="#ffff0000" />
    <gradient
         android:startColor="#66660000"
         android:centerColor="#66006600"
         android:endColor="#66000066"
         android:angle="270" 
    />
</shape>

I have an Activity that contains a FrameLayout and two views. The first is a ViewFlipper and the second is an ImageView. If I comment out the ViewFlipper, the activity renders the ImageView and its background correctly, but when the ViewFlipper is visible, the ImageView's background is completely ignored.

Is this a "feature" of ViewFlipper? Is there a way I can work around this?

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:background="@android:color/background_light"
       >        
    <ViewFlipper android:id="@+id/flipper"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:flipInterval="5000"
       >
                <include layout="@layout/cell_1" android:id="@+id/cell_1"/>
                <include layout="@layout/cell_2" android:id="@+id/cell_2"/>
                <include layout="@layout/cell_3" android:id="@+id/cell_3"/>
   </ViewFlipper>
    <ImageView
        android:background="@drawable/alpha_gradient_background"
        android:id="@+id/statusIcon"
        android:src="@drawable/status_icon"
        android:padding="5dp"
        android:layout_gravity="right"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:top="10dp"
        android:right="10dp"
        />
</FrameLayout> 

And my background drawable looks like this:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
    <stroke android:width="3dp" android:color="#ffff0000" />
    <gradient
         android:startColor="#66660000"
         android:centerColor="#66006600"
         android:endColor="#66000066"
         android:angle="270" 
    />
</shape>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

つ低調成傷 2024-10-04 10:27:43

当按钮放置在 ViewFlipper 上时,按钮似乎能够渲染其背景。

因此,我通过创建部分透明的 PNG 并将其设置为按钮上的背景图像来解决这个问题。

It appears that Buttons are able to render their background when placed over a ViewFlipper.

I have therefore got around this by creating a partially transparent PNG and setting that as the background image on the button.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文