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

关于Android clipToPadding属性的澄清

长孙阳嘉
2023-03-14

不过,我真的很想弄明白这套房产的目的是什么。我去了Android的文档,里面说:

定义如果填充不为零,则ViewGroup是否将剪辑其子级并将任何EdgeEffect的大小调整到填充中(但不剪辑)。默认情况下,此属性设置为true。

我已经读了很多次,我在网上找了一些例子,但我真的没有找到一些。我发现的唯一的视觉效果与这个ClipToPadding差异类似

共有1个答案

别子实
2023-03-14

cliptopadding的基本意思是“如果视图超出其边界绘制到填充区域,则使用父级的填充覆盖此绘图”。

高架视图的阴影绘制在视图边界之外。为了使其可见,您需要确保视图周围有空间。您可以通过在父级上设置填充来实现这一点,但接下来需要设置cliptopadding=false,以便不覆盖阴影。

如本答案所述,当您有一个可滚动视图(如ListView或RecyclerView)时,这也很有用。滚动时,列表会将内容画出其边界。如果您设置了cliptopadding=false,您将能够看到该内容而不是填充,并且只有在完全向上或向下滚动时才能看到填充。

通过cliptopadding=false,我们可以看到整个阴影:

下面是我使用的XML:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:background="#8888ff">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="40dp"
        android:paddingRight="40dp"
        android:paddingTop="20dp"
        android:paddingBottom="20dp"
        android:clipToPadding="false"
        android:layout_centerInParent="true">

        <View
            android:layout_width="170dp"
            android:layout_height="170dp"
            android:background="@drawable/oval"
            android:alpha="0.5"
            android:elevation="5dp"
            />

    </RelativeLayout>

</RelativeLayout>

下面是可绘制的oval

<shape android:shape="oval">
        <solid android:color="#f2f2f2"/>
</shape>
 类似资料:
  • 我正在尝试使用OpenNLP。我需要它从新闻网站(例如:techcrunch)获得新的组织(初创公司)。我有一个组织模型,我用它来识别出版物中的组织(en-ner-organization)。我有一个问题: 如果有一个关于新的初创公司的出版物,它是昨天诞生的,openNlp会承认它是组织吗? 据我所知-没有。直到我不在这个新的初创公司训练模特,对吧?

  • 从文件导入证书时SSL握手失败的后续问题 在该链接中,使用第三方证书时SSL握手失败。 我对此表示怀疑。 一旦服务器向客户端颁发了包含公钥的证书,客户端是否使用服务器的公钥对每条消息进行编码?

  • 问题内容: 当我编译上面的代码时,我得到一个真值。 但是那怎么可能呢,因为参数的第二部分(因为b已经是真的)基本上转化为 应该返回。那么该语句将是。 我想念什么? 问题答案: Java行为正确:) 那就是 后缀 增量。 它生成结果,然后再增加该值。 将使用之前的,然后使用它。 当您使用++时,就像 Postfix Increment Operator ++上的语言规范 将值1加到变量的值上,然后将

  • 我的应用程序目前使用一个后台服务与一个物理设备进行通信(蓝牙)。(我制造并销售物理设备。)应用程序每500ms向设备发送一条命令。用户启动这个进程,它必须运行,直到用户停止它。当应用程序处于活动状态时,进程的结果将发送到应用程序。这个过程需要运行,即使应用程序不是活动的。(例如,他们打电话,搜索网络。)一旦应用程序再次激活,进程的状态将与应用程序同步。该过程可以在任何地方运行,从几分钟到几个小时不

  • 现在,编辑器在使用注释方法的地方显示警告。然后显示使用的建议。当我接受它的更改时,它会将代码转换为此,警告消失。 使用有意义吗? 实现是 所以如果为空,我的代码仍然会崩溃。 我们应该对此进行空检查。 我认为比好,你说呢?如果是,则编辑器不应建议在此处使用。 因为在具有状态(如)的字段中使用要求NonNull是不安全的。我是否错过了的一些好处?

  • 我很难清楚地理解MySQL5.6使用/r/t memcache引入了什么。 按照我的理解,memcache本身本质上是一个巨大的、共享的、驻留内存的哈希表,由服务器memcached管理。特别是,它对持久数据存储一无所知,也不提供这方面的服务。它只知道键和值(像Perl散列)。 我认为MySQL5.6引入的是NoSQL API,mySQL客户端可以通过键而不是通过SELECT语句从mySQL服务器