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

? android:attr/selectableItembackground与另一个现有背景

东方富
2023-03-14

我有一个9补丁设置为我的布局背景。然而,我仍然希望通过使用< code > selectableitembackund 属性来提供触摸反馈。

我试过使用

我还可以尝试制作一个选择器,并在list_selector_background_pressed.xml中用一个

必须有一种更简单的方法,对吧?D:


共有1个答案

颜熙云
2023-03-14
匿名用户

我试着用一个带有9补丁和selectableItemBackground的作为第二个的android:drawable,但是没有用。

是的,图层列表(或状态列表)中的可绘制属性不接受 attr 值。您将看到一个资源。Not发现异常。查看分层绘制(或状态列表绘制)的源代码可以解释原因:您提供的值被假定为可绘制对象的 ID。

但是,您可以在代码中检索属性的主题和特定于平台的绘图:

// Attribute array
int[] attrs = new int[] { android.R.attr.selectableItemBackground };

TypedArray a = getTheme().obtainStyledAttributes(attrs);

// Drawable held by attribute 'selectableItemBackground' is at index '0'        
Drawable d = a.getDrawable(0);

a.recycle();

现在,您可以创建一个< code>LayerDrawable:

LayerDrawable ld = new LayerDrawable(new Drawable[] {

                       // Nine Path Drawable
                       getResources().getDrawable(R.drawable.Your_Nine_Path), 

                       // Drawable from attribute  
                       d });

// Set the background to 'ld'
yourLayoutContainer.setBackground(ld);

您还需要设置LayoutContainer的clickable属性:

android:clickable="true"

 类似资料:
  • 当我编写我使用的Android应用程序时 我试着寻找attr.xml包含源代码的文件,但我找不到它。请告诉我在哪里可以找到它。我找到了一个attr.xml C:\程序文件(x86)\Android\android-sdk\平台\android-13\数据\res\值 但它没有上述属性。谁能告诉我在哪里可以找到上面属性的xml资源?

  • 问题内容: 我有一个selenium代码来测试表单。但是首先我转到另一个页面,然后重定向到我的页面。当我将cookie设置为新域时,出现错误: 我的代码: 我该如何处理?我必须获取/设置example.com的cookie 问题答案: 为什么不让浏览器在添加cookie之前重定向到“ example.com”。进入该域后,添加您从“ example.com”中获取的Cookie值并刷新页面? 根据

  • 问题内容: 我在硒代码上有一个测试表格。但是首先我转到另一个页面,然后重定向到我的页面。当我将cookie设置为新域时,出现错误: 我的代码: 我该如何处理?我必须获取/设置example.com的cookie 问题答案: 为什么不让浏览器在添加cookie之前重定向到“ example.com”。进入该域后,添加您从“ example.com”获取的Cookie值并刷新页面? 根据团队在项目跟踪

  • 我用Java重写了我的第一个程序,现在它看起来像这样: 实际上一切都很顺利,除了: > 当我在输入a、B和C的值时输入一个非数字类型时,会显示一个双重警告,然后它就会正常工作。(仅1个警告) 当我回答Y或N时,程序终止,但如果我输入任何其他内容,如“g”、“2”或“w”等,程序会再次询问我(第一次也是两次),然后当我输入Y或N,它工作得很好。 我真的不知道这是怎么回事,因为在编译过程中没有警告或错

  • 我想将调用活动与其他活动进行比较,以了解哪个调用了当前活动。我试过: 它不起作用,除了通过在调用意图中传递一个值,我们如何使用或来比较类?

  • 问题内容: 我正在构建一个程序,该程序需要将当前可见的JPanel与另一个交换。不幸的是,似乎有很多事情要做,而我所有的尝试都以失败告终。我可以成功地使第一个JPanel出现在我的JFrame中,但是交换JPanels会导致空白的JFrame。 我的主要JFrame: 我正在尝试使用updatePanel2将现有面板替换为新的Panel2,但是它似乎无法正常工作。Panel2本身可以很好地工作,但