当前位置: 首页 > 面试题库 >

如何以编程方式在LinearLayout上设置波纹效果?

壤驷子安
2023-03-14
问题内容

我想将背景android.R.attr.selectableItemBackground设置为LinearLayout。使用XML时没有问题(有效)

<LinearLayout
    android:id="@+id/llMiner"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?android:attr/selectableItemBackground"
    android:clickable="true" >

…但是我必须在Java代码中执行此操作,因此我已经尝试过

llMiner.setClickable(true);
llMiner.setBackgroundResource(android.R.attr.selectableItemBackground);

…而且它不起作用,实际上我NotFoundException在第二行得到了一个。因此,在尝试了这种变体之后,我认为资源是一种颜色。

llMiner.setClickable(true);
llMiner.setBackgroundColor(android.R.attr.selectableItemBackground);

这个没有启动异常,但是…不起作用(按下时背景没有变化,但是按下时状态必须改变)…有什么建议吗?


问题答案:

您可以使用这种方式。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    // If we're running on Honeycomb or newer, then we can use the Theme's
    // selectableItemBackground to ensure that the View has a pressed state
    TypedValue outValue = new TypedValue();
    this.getTheme().resolveAttribute(android.R.attr.selectableItemBackground, outValue, true);
    textView.setBackgroundResource(outValue.resourceId);
}


 类似资料:
  • 问题内容: 我有这样的看法 和涟漪.xml作为 一切正常。当我触摸视图时,它会产生波纹效果。我正在寻找的是从代码中反复在视图上启动波纹动画。将其显示为不确定的进度。因此,海浪不断荡漾。 就像是 这该怎么做? 问题答案: 响应压力和聚焦状态,前者提供您要查找的波纹动画。您可以使用来在主机视图上切换按下状态。 请记住,用户触摸切换按钮也会切换按下状态,因此您可能想要删除或重新发布可运行项。 如果需要,

  • 问题内容: 我遇到以下问题:我实现了一个在一个案例中包含和的。在这种情况下,图像约为屏幕宽度的50%。所以我想居中。不幸的是,我发现居中的唯一方式是,使用上。 这是我的xml: 但是我需要以编程方式进行设置。有人知道我该如何实现这一目标或以其他方式知道吗?我在Google上找到的所有内容都不适用于此帖子。 谢谢! 问题答案: 做这样的事情: 更新: 另一种方法:

  • 问题内容: 我正在尝试使用Java(不是XML)来创建一个LinearLayout,其线性按钮具有填满整个屏幕并具有边距的功能。这是不带边距的代码: 这样就可以了,但是到底如何给按钮留出一定的边距,以便在它们之间留出空间?我尝试使用,但是没有weight成员,所以不好。如果你lp在其构造函数中传递它,它也不起作用。 这不可能吗?因为它看起来确实可靠,而且它不是你只能使用XML进行的第一个Andro

  • 第一次在这里问问题,让我们看看... 我在以编程方式在CardView上设置涟漪效应时遇到了麻烦。(但我希望找到一种基本适用于任何视图的方法)问题是,我的卡片是这样编程制作的: 现在,正如您所看到的,我使用前景属性进行了尝试,基于在这里可以找到的类似问题的答案。 **更新:**卡片在Android 5之前的代码中变得不可见。

  • 问题内容: 我的问题很简单 如何以编程方式设置我的按钮layout_gravity? 我在互联网上找到了它,但它只是抛出了一个Nullpointer异常: 有什么办法吗? 问题答案: Java Kotlin 有关重力值以及如何设置重力,请检查“重力”。 基本上,您应该选择依赖于父项。可以是等等。

  • 问题内容: 我正在动态创建按钮。我首先使用XML设置了样式,然后尝试使用下面的XML使其具有程序性。 这是我到目前为止所拥有的。除了可绘制对象,我可以做所有事情。 问题答案: 你可以使用该方法执行此操作。请参阅此处的示例。我在不使用的情况下使用了它,并且效果很好。你可以尝试任何一种方式。 更新:如果链接断开,请在此处复制代码 要么 要么