问题标签 [background-drawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
79315 浏览

android - 更改 searchview 小部件的背景可绘制对象

我正在尝试更改位于 Android 操作栏 searchview 小部件中的可绘制对象。

目前它看起来像这样: 在此处输入图像描述

但我需要将可绘制的蓝色背景更改为红色。

除了滚动自己的搜索小部件之外,我已经尝试了很多方法,但似乎没有任何效果。

有人可以指出我改变这一点的正确方向吗?

0 投票
3 回答
1602 浏览

android - 可通过代码绘制的圆角

我有一个有时会改变颜色的drawable,但它必须总是有圆角。这是一个 UI 库,所以我不知道它会有什么颜色。XML 不是一个选项,我必须用纯 java 来实现。

有没有办法在不使用 XML 的情况下以编程方式实现这一点?

0 投票
1 回答
395 浏览

android - SetBackgroundDrawable 在内存中加载图像吗?

我正在制作一个Android应用程序,我在报告“内存不足异常”时遇到了一些问题,在网上多次搜索后,我发现 android:background 正在将背景图像加载到内存中。

所以我将删除我的 XML 文件中的所有“android:background”声明,并将其替换为:

在此之前,我想知道“setBackgroundDrawable”是否正在将图片加载到内存中?

0 投票
3 回答
1277 浏览

android - 如何修复横向截止的自定义 SearchView 背景?

我已经按照这个问题的最佳答案来使SearchView我的 ActionBar 中的小部件适合自定义主题。它适用于纵向模式,但在横向模式下,操作系统将缩小 ActionBar 的高度以最大化内容屏幕空间。而不是SearchView像其他项目一样将没有边距的小部件安装到 ActionBar 中,而是在顶部被切掉:

顶部被切掉的 SearchView 小部件

我已经翻遍了 Android 源代码的 res-folder,但找不到任何专门的布局或资源来说明如何解决这个问题,甚至 Android 本身如何设法将默认的 Holo SearchViewWidget 放入简化的 ActionBar 中。

任何见解都值得赞赏。谢谢。

0 投票
0 回答
306 浏览

android - 如何根据父布局内容高度动态调整图像高度?

我有一个父布局,android:layout_height="wrap_content"在我的类代码中,它应该从特定图像设置布局背景,但图像高度大于内容高度。我想将背景的图像高度调整为与父布局内容的高度相同。我怎样才能做到这一点?

在此处输入图像描述

黑色 - 父布局

绿色 - 布局内容

棕色 - 布局背景(来自可绘制)

这是我设置父布局背景的方法: view.setBackgroundDrawable(getResources().getDrawable(R.drawable.brown));

编辑:

这是我的xml:

和我在我的java类监听器中调用这个布局的地方:

这就是我的意思是我无法获得 ImageView 本身的引用,因为我只能拥有View viewfrom onItemClick。这是一个 ListView,我想在单击时更改背景。

无论如何,我如何调整内容的高度,以便背景(棕色)高度只是fill父布局(绿色)?

0 投票
1 回答
85 浏览

android - 同时导入 R (android.R 和.R)

我在我的应用程序中使用自定义背景。我正在寻找的是如何default drawableandroid.R. 这是因为如果用户选择白色或深色背景,我不想使用自定义图像,而是使用例如:(@android:drawable/screen_background_light因此,保存图像不会占用空间)。

如果我尝试发生import android.R.*错误(那是因为我使用了另一个文件R)。

我知道如何通过做 XML 来做到这一点android:background=@android:drawable/screen_background_light",但这是我现在想要做的。

0 投票
2 回答
327 浏览

android - 更改 BackgroundDrawable 后,按钮文本不再对齐

我正在以编程方式更改按钮的 backgroundDrawable:

更改背景后,按钮中的文本不再像更改背景之前那样对齐。

更改背景前后的按钮
(来源:dsliga.eu

目标 SDK 版本是 10。谢谢。

0 投票
6 回答
13757 浏览

java - 如何拥有不调整大小的全屏背景图像(带中心裁剪)

我正在尝试将照片设置为Activity. 我希望背景是全屏图像(无边框)

因为我希望图像在不拉伸/挤压的情况下填充整个活动的背景(即 X 和 Y 的不成比例缩放)并且我不介意是否必须裁剪照片,所以我使用RelativeLayout带有ImageView(with android:scaleType="centerCrop") 和我的布局的其余部分由 aScrollView及其子项组成。

问题是布局的其余部分有一些EditText视图,当软键盘出现时,ImageView 会重新调整大小。无论软键盘是否可见,我都希望背景保持不变。

我在 SO 上看到了很多关于 ImageViews 被重新调整大小的问题,但(imo)没有令人满意的答案。它们中的大多数只包括设置android:windowSoftInputMode="adjustPan"- 这并不总是实用的,特别是如果您希望用户能够在活动中滚动 - 或者使用getWindow().setBackgroundDrawable()不裁剪图像。

我已经设法将 ImageView 子类化并覆盖它onMeasure()(在此处查看我的答案:ImageView resized when keyboard open),以便它可以根据标志强制固定高度和宽度 - 等于设备的屏幕尺寸,但我是想知道是否有更好的方法来实现我想要的结果。

所以,总而言之,我的问题是:如何将 Activity 的背景设置为全屏照片

  • 使用 scale type = "centerCrop",使照片均匀缩放(保持其纵横比),因此两个尺寸(宽度和高度)将等于或大于视图的相应尺寸;

  • 弹出软键盘时不会调整大小;


回答:

我最终遵循了@pskink的建议并进行了分类BitmapDrawable(请参阅下面的答案)。我必须进行一些调整以确保BackgroundBitmapDrawable始终以填充屏幕的方式缩放和裁剪。

这是我的最后一堂课,改编自他的回答:

然后只需创建一个BackgroundBitmapDrawable并将其设置为根视图的背景即可。

0 投票
0 回答
305 浏览

android - 动态更改相对布局背景时的性能问题

我正在尝试创建一个屏幕,我可以在其中从 SDCard 中选择多个图像并将它们加载到ViewPagerGridlayout中,就像在WhatsApp 发送多个图像中的方式一样(如下面的屏幕截图所示)。

什么是应用程序屏幕截图以供参考

我可以通过使用 ViewPager 和 GridLayout(用于下面的图像选择视图)来实现屏幕截图中的效果。当用户滑动 ViewPager 时,我需要更改 GridLayout 中的选择器。这个SelectionChange部分也是通过使用RelativeLayout作为GridLayout的Child并更新RelativeLayout的Background来实现的。下面 ade 那些 xmls

gridlayout_item.xml

activity_multi_seletion.xml

on_select.xml(选择可绘制)

但是我在更改ViewPager 的 PageChange(onPageSelected)上 relativeLayout 的背景时遇到了性能问题。我的意思是 ViewPager 页面被击中了一段时间并且正在移动。

如果我在 ViewPager 的 PageChange(onPageSelected) 上评论更新 gridlayout 项目的背景,它的移动平滑。下面是代码片段。

请帮我解决这个问题。

0 投票
3 回答
5267 浏览

android - 如何动态更改 TextView 的背景颜色?

我已经引用了这个问题circle.xml,并使用 (在 res/drawable 中)为 TextView 实现了圆形背景,并将其设置android:background="@drawable/circle"为 TextView。但我需要的是,我需要通过代码动态设置背景颜色。就像棒棒糖联系人应用程序一样,如下所示

在此处输入图像描述

我怎样才能做到这一点?我需要圆形的 TextView 背景总是如上图所示