【问题标题】:Add a background shape to a ImageView in xml Android?在 xml Android 中向 ImageView 添加背景形状?
【发布时间】:2016-04-20 11:21:55
【问题描述】:

问题是我不能在 ImageView 后面放置一个形状(即动画)。 ImageView 的中心必须与形状居中对齐。

形状大小是 92dp,我的动画是 48dp,所以形状必须包含动画。

这是您可以看到我尝试获得的视频的视频: Click Me

这是我现在的布局:

<ImageView
    android:id="@+id/imageView111"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="center"
    android:layout_marginTop="120dp"
    android:layout_gravity="center_horizontal"
    android:visibility="gone" />
</LinearLayout>

我的形状是这样的:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="oval" >
        <solid android:color="@color/primary" />

        <size
            android:height="92dp"
            android:width="92dp" />

        <padding
            android:bottom="10dp"
            android:left="10dp"
            android:right="10dp"
            android:top="10dp" />
        <corners android:radius="5dp" />
    </shape>
</item>
<item>
    <shape android:shape="oval" >

        <size
            android:height="92dp"
            android:width="92dp" />

        <padding
            android:bottom="5dp"
            android:left="5dp"
            android:right="5dp"
            android:top="5dp" />
        <solid android:color="@color/primary" />
    </shape>
</item>
</layer-list>

对此有什么解决方案?我花了很多时间来解决它,但我不能:(

谢谢你帮助我!

【问题讨论】:

  • 提供你的Imageview背景,它就会完成`android:background="@drawable/your_created_drawablefile_name"`
  • 不,它不起作用,形状消失了。我看不到形状,只有带有动画的 ImageView

标签: android android-layout android-studio android-imageview shape


【解决方案1】:

亲爱的,我希望这对你有帮助。

你可以这样做:

首先创建这样的布局

你的布局

   <RelativeLayout
    android:id="@+id/scl"
    android:layout_width="92dp"
    android:layout_height="92dp"
    android:background="@drawable/shape_oval"
    android:layout_marginTop="120dp"
    >

<ImageView
android:id="@+id/imageView111"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:layout_centerVertical="true"
 android:layout_centerInParent="true"
 android:layout_centerHorizontal="true"
android:background="@drawable/animationview_list"

android:visibility="visible" />
</RelativeLayout>

shape_oval.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >

<gradient android:startColor="#E4E4E4"
  android:endColor="#E4E4E4"
  android:angle="270"/>
</shape>

animationview_list.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">

<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />
<item android:drawable="@drawable/a1" android:duration="30" />

</animation-list>

动画不能大到 48*48 否则不好看。

【讨论】:

  • 感谢您的回答,我试了一下,但动画不在椭圆的中心,并且椭圆不在设备的中心(水平和垂直)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-05
相关资源
最近更新 更多