gpt4 book ai didi

android - 如何在Imageview中显示边框?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:29:53 25 4
gpt4 key购买 nike

friend 如何给Imageview显示边框?

我想像移动图库一样显示所有带边框的图像。

请给我答案谢谢你提前......

最佳答案

您可以为您的 ImageView 的“边框”(实际上是背景)创建一个资源(图层可绘制 xml),并在您的 theme 中声明 ImageView 的背景资源是drawable xml。

如果您需要根据 ImageView 的状态(focusedselected 等)更改此“边框”,那么你应该创建更多的图层可绘制对象,并将它们放在一个选择器 xml 中(状态可绘制对象)。
然后在您的主题中,您应该将 ImageView 的背景设置为此 selector.xml

更新
下面是如何为图像指定简单边框的示例,这将导致

efteling with border

你必须

  1. 创建一个新的图层可绘制文件(image_border.xml),
  2. 修改/创建您的 styles.xml 文件
  3. 修改/创建您的colors.xml 文件
  4. 修改您的布局 xml 文件(或您的代码)以将样式应用于 ImageView

res/drawable/image_border.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient android:angle="90"
android:startColor="@color/image_border_start"
android:centerColor="@color/image_border_center"
android:endColor="@color/image_border_end" />
</shape>
</item>
<item android:top="2dp" android:left="2dp"
android:right="2dp" android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="@color/default_back_color" />
</shape>
</item>
</layer-list>

res/values/styles.xml
添加以下行:

<style name="myImageView">
<!-- 3dp so the background border to be visible -->
<item name="android:padding">3dp</item>
<item name="android:background">@drawable/image_border</item>
<item name="android:scaleType">fitCenter</item>
</style>

res/values/colors.xml
添加以下行:

<color name="image_border_start">#40990000</color>
<color name="image_border_end">#FF660000</color>
<color name="image_border_center">#FFFF3333</color>

最后在布局 xml 中指定 ImageView 的样式:

<ImageView android:id="@+id/my_image" 
android:layout_width="100dp" android:layout_height="100dp"
android:src="@drawable/efteling"
style="@style/myImageView" />

关于android - 如何在Imageview中显示边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com