标签: background

setBackgroundResource()丢弃我的XML布局属性

我有一个视图,用作一个项目ListView.在我的自定义适配器中,我View.setBackgroundResource()根据项目在列表中的位置更改视图的背景.(我对列表中的第一个和最后一个项目有单独的资产.)

这会按预期设置正确的背景图像,但它具有令人讨厌的副作用,即我在视图的XML定义中设置的所有填充都被完全忽略.

(如果我在XML中设置了可绘制的背景,并且在运行时不要尝试在适配器中改变它,那么填充一切正常.)

如何更改背景图像并保留填充?这是一个错误吗?

编辑似乎其他人在这里发现了同样的问题:更改背景是否也改变了LinearLayout的填充?

android background padding drawable layer-list

69
推荐指数
4
解决办法
2万
查看次数

如何调试Google Chrome后台脚本?

我的扩展非常简单:

的manifest.json

{
  "name": "historyCleaner",
  "version": "0.1.1",
  "manifest_version": 1,
  "description": "This is my first Chrome extension",
  "background": {
    "scripts": ["cleaner.js"]
  }, 
  "permissions": [
    "history"
  ]
}
Run Code Online (Sandbox Code Playgroud)

cleaner.js

chrome.history.onVisited.addListener(function(HistoryItem result) {

  console.log("it works!");
  alert("it works!");

});
Run Code Online (Sandbox Code Playgroud)

我已经将它加载到谷歌浏览器中,它已打开并且......它不起作用.它不会在控制台中记录任何内容,它不会提醒任何事情,更糟糕的是,我在开发人员工具"Scripts"选项卡中找不到它.我怎么才能找到它无效的原因?

//编辑

我把manifest.json改成了这个:

{
  "name": "historyCleaner",
  "version": "0.1.5",
  "manifest_version": 1,
  "description": "This is my first Chrome extension",
  "background_page": "background.html",
  "permissions": [
    "history",
    "background"
  ]
}
Run Code Online (Sandbox Code Playgroud)

并在background.html中嵌入了JavaScript

javascript debugging background google-chrome-extension

69
推荐指数
2
解决办法
3万
查看次数

CardView上的透明背景 - Android

我想在CardView上做透明的背景.我知道backgroundColor,但我的布局上有图像.

你知道怎么做吗?或者作为cardview的东西,但我会设置一个透明的背景?

问候

android background android-cardview

69
推荐指数
3
解决办法
5万
查看次数

src和ImageView的背景有什么区别

我对使用src或背景有点困惑ImageView.我知道前者意味着这个的内容ImageView而后者意味着背景ImageView.但是如何检测使用哪一个?我没有看到差异.

android background src imageview

68
推荐指数
3
解决办法
3万
查看次数

正确使用HKObserverQuery的后台更新completionHandler

HKObserverQuery 有以下方法支持在后台接收更新:

- initWithSampleType:predicate:updateHandler:
Run Code Online (Sandbox Code Playgroud)

updateHandler有一个completionHandler具有以下文件:

该块传递给更新处理程序.完成处理传入数据后,必须立即调用此块.调用此块告诉HealthKit您已成功接收到后台数据.如果您不调用此块,HealthKit将继续尝试使用退避算法启动您的应用.如果您的应用无法响应三次,HealthKit会假定您的应用无法接收数据,并停止向您发送后台更新.

通过查看其他帖子,似乎围绕此处理程序存在很多混乱.以下是我对它的一些问题:

  • 应该何时调用处理程序?如果调用太晚,那么HK可能会认为应用程序从未收到过查询更新,导致您点击后台更新3-strikes back-off算法.文档声明应在处理其他查询后调用它.根据运行这些查询所需的时间,听起来你可能会危险地接近达到后台更新攻击.
  • 为什么需要这个?系统不应该知道应用程序已经启动并且已经收到后台更新吗?CoreBluetooth在后台使用时,它只会在后台唤醒您的应用程序10秒钟.无需调用任何处理程序或处理后台更新3次攻击.
  • 如果您点击后台更新3次罢工而HK停止发送更新是永久性的吗?香港是否曾开始再次发送背景更新?如果有一个错误阻止处理程序被调用,现在你已经修复了它.该应用程序是否卡住从未收到更新?或者,当应用重新启动或更新时,它会重置吗?
  • 在调用处理程序之前,HK是否会让您的应用程序在后台运行?这是其目的的一部分还是仅仅是副作用?如果这是它的目的的一部分,我们可以在需要停止之前运行多长时间(并点击第一次背景更新警示)?

background ios healthkit hkobserverquery

68
推荐指数
1
解决办法
1182
查看次数

如何填写UIView的背景图片

我有一个UIView和我这样设置背景图像:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"sfond-appz.png"]];
Run Code Online (Sandbox Code Playgroud)

我的问题是背景图像不在视图中居中,但它会重放一些时间来填充所有视图.有没有办法将图像置于uiview内部并将scretch设置为具有屏幕尺寸?

注意:我不能UIImageView用于背景因为我有scrollview.

iphone background objective-c uiview

67
推荐指数
4
解决办法
12万
查看次数

iPhone - 背景调查事件

很长一段时间以来,我一直在寻找一种方法,在我的iPhone应用程序中每隔X分钟轮询一次以检查数据计数器.在阅读了背景执行文档和一些试用版应用之后,我不认为这是不可能的,而不会滥用后台API.

上周我发现这个应用程序正是如此.http://itunes.apple.com/us/app/dataman-real-time-data-usage/id393282873?mt=8

它在后台运行并跟踪您使用的蜂窝/ WiFi数据的数量.我怀疑开发人员正在注册他的应用程序作为跟踪位置更改但在应用程序运行时看不到位置服务图标,我认为这是一项要求.

有没有人知道如何实现这一目标?

iphone location background multitasking

66
推荐指数
4
解决办法
4万
查看次数

Android:如何从模式创建背景?

我有一个模式(.png图像4x4px),并且必须用它填充布局.

有谁知道如何做到这一点?

如果我只选择drawable作为图像的背景,它就会被拉伸; 相反,它需要沿x和y轴重复.

android design-patterns background

65
推荐指数
1
解决办法
3万
查看次数

安卓动画未在onAnimationEnd中完成

onAnimationEnd虽然animation.hasEnded设置为true,但是当事件被触发时,似乎没有真正完成Android动画.

我希望我的视图可以改变它的背景可绘制的背景ScaleAnimation,但你可以清楚地看到它在完成之前已经改变了几毫秒.问题是,它会闪烁,因为新的背景会出现(=)缩放很短的时间,直到动画完成.

有没有办法获得动画的真实结束,或者只是阻止新背景在这么短的时间内缩放?

谢谢!


//编辑:我正在使用一个AnimationListener来接听以下电话:

    @Override
public void onAnimationEnd(Animation animation)
{
    View view = (MyView) ((ExtendedScaleAnimation) animation).getView();

    view.clearAnimation();
    view.requestLayout();
    view.refreshBackground(); // <-- this is where the background gets changed
}
Run Code Online (Sandbox Code Playgroud)

animation android background drawable android-animation

65
推荐指数
4
解决办法
6万
查看次数

如何在自定义标题栏上以编程方式设置背景颜色渐变?

有很多教程和SO的问题,实现自定义标题栏.但是,在我的自定义标题栏中,我有一个自定义渐变背景,我想知道如何在我的代码中动态设置它.

这是我的自定义标题栏被调用的地方:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.foo_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar); 
Run Code Online (Sandbox Code Playgroud)

这是我的custom_title_bar:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@layout/custom_title_bar_background_colors">
<ImageView   
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:src="@drawable/title_bar_logo"
              android:gravity="center_horizontal"
              android:paddingTop="0dip"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

如您所见,线性布局的背景由此人定义:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient 
    android:startColor="#616261" 
    android:endColor="#131313"
    android:angle="270"
 />
<corners android:radius="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

我想要做的是在我的代码中动态设置这些渐变颜色.我不想像我们现在那样在我的XML文件中对它们进行硬编码.

如果您有更好的方法来设置背景渐变,我会对所有想法持开放态度.

先感谢您!!

android gradient background android-layout

64
推荐指数
1
解决办法
7万
查看次数