小编dpa*_*nas的帖子

Android ICS:删除ActionBar中的蓝色分隔符?

我正在开发一个全屏应用程序,但会使用ActionBar的一些功能.随着Ice Cream Sandwhich发布,我看到我得到一个蓝线分隔符/分隔符作为ActionBar的一部分.通常,这对于一致性是有好处的,但在我的情况下,我需要删除分隔符.

如何在ICS中移除或设置ActionBar的分隔符?

尝试使用"android:style/Widget.Holo.ActionBar"作为父级设置自定义主题.但是,如下所示的设置无效

<item name="android:divider">#FFFFFF</item>
Run Code Online (Sandbox Code Playgroud)

android android-actionbar

31
推荐指数
1
解决办法
2万
查看次数

安装或更新应用程序后显示模态

很多Android应用程序现在都会在安装或更新后显示最新更改日志的模式.

在最初安装或更新应用程序后,如何显示可滚动模式?

android modal-dialog

15
推荐指数
2
解决办法
8359
查看次数

将简单的ScrollView添加到Gallery会导致内存泄漏

在使用Gallery组件时,我遇到了我只能归类为ScrollView元素的内存泄漏的问题.

简短的背景.我有一个现有的应用程序是一个照片幻灯片应用程序.它使用Gallery组件,但适配器中的每个元素都以全屏显示.(此链接提供完整的来源)

适配器View元素包含一个ImageView,以及两个用于标题和描述的TextView.由于照片分辨率非常高,因此该应用程序使用了相当多的内存,但Gallery通常会设法好好回收它们.

但是,当我现在为描述TextView实现ScrollView时,我几乎立即遇到了内存问题.这是我做的唯一改变

<ScrollView
android:id="@+id/description_scroller"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:fillViewport="true">
  <TextView
    android:id="@+id/slideshow_description"
    android:textSize="@dimen/description_font_size"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/white"
    android:layout_below="@id/slideshow_title"
    android:singleLine="false"
    android:maxLines="4"/>  
</ScrollView> 
Run Code Online (Sandbox Code Playgroud)

我做了堆转储,可以清楚地看到Scrollview是内存问题的根源.

以下是堆转储分析的两个屏幕截图.请注意,ScrollView保留对mParent的引用,其中包含我使用的大型照片 堆分析 - 泄漏候选人 堆分析 - 深入查看单个ScrollView

如果我使用TextView的滚动(android:scrollbars ="vertical"和.setMovementMethod(new ScrollingMovementMethod()),PS会出现同样的问题;

PSS尝试关闭持久绘图缓存,但没有不同的dreaandroid:persistentDrawingCache ="none"

memory android scrollview

8
推荐指数
2
解决办法
2323
查看次数

向OpenUI5添加新图标?

我们需要向OpenUI5添加新图标.图标已被定义为基于矢量的字体.

我知道可以通过https://icomoon.io/等服务将图标添加到SAP标准字体.但是,我希望能够将它们保存在一个单独的文件中(这样我们就不需要在新的OpenUI5版本出现时重做任务).

是否可以定义用于图标的其他字体?

sapui5

5
推荐指数
1
解决办法
3354
查看次数

在Android M42中,localStorage不会在混合应用程序中保留

在最新版本的Android系统WebView(M42 42.0.2311.129)中,混合应用程序中的localStorage似乎存在问题.

我已经提交了一个错误报告,但我试图找到一个解决方法,找不到localStorage中没有持久化的对象.

这是从错误报告中获取的:

Steps to reproduce the problem:
1. Start hybrid app built with phonegap
2. In app, call javascript localStorage.setItem("m42bug","test for localstorage")
3. Through developer tools debugging confirm object has been stored: localStorage.getItem("m42bug")
4. Close app 
(swipe it away, force close it or restarting the device all cause the same)
5. Start app
6. In app, call javascript localStorage.getItem("m42bug")
Run Code Online (Sandbox Code Playgroud)

预期的行为是什么?

localStorage.getItem("m42bug") 应返回值"test for localstorage"

什么地方出了错?

localStorage.getItem("m42bug") 返回null.

Object.keys(localStorage) 表明没有钥匙 m42bug

android cordova

5
推荐指数
1
解决办法
1017
查看次数

混合应用程序中的下拉列表在某些Android设备上的灰色背景上有黑色文本

我们有一个使用phonegap和jquery mobile构建的混合应用程序.在一个屏幕中,我们有标准的HTML5选择(下拉列表)

在一个Android设备上,三星S6 Galaxy与Android系统WebView M42,下拉列表在灰色背景上显示黑色文字.见截图.

在所有其他Android设备上,它在灰色背景上显示为白色文本.

有没有办法从混合应用程序修复此问题?

三星S6 Galaxy上的下拉列表

android android-webview cordova

5
推荐指数
1
解决办法
968
查看次数

openui5:如何仅为第一次自定义组件渲染实现动画

我正在为openui5/sapui5实现一些自定义组件.

对于组件,我希望在最初加载时有一个css动画.这是非常直接的,因为我添加了以下css:

@-webkit-keyframes card-in-animation {
   from {
     -webkit-transform: translateY(50em) rotate(5deg);
     opacity:0;
   }
}

.card {
   animation:card-in-animation  0.7s .2s ease-out both;
   -webkit-animation:card-in-animation  0.7s .2s ease-out both;
}
Run Code Online (Sandbox Code Playgroud)

当openui5框架由于某种原因重新呈现组件时,会出现问题.

然后销毁DOM元素并创建新元素.这会导致动画再次触发.

要在实践中看到这一点:

  1. 转到http://elsewhat.github.io/openui5-cards/cdn/latest/example3.html
  2. 初始动画按需要触发
  3. 点击任意卡片右上角的菜单图标
  4. 触发新的不需要的动画

在openui5中避免这种情况的首选方法是什么?

sapui5

2
推荐指数
1
解决办法
1054
查看次数

从chrome developer tools console获取CSS类定义

我想以编程方式从chrome开发人员工具中检索一组CSS类定义.实际上类似于右侧的样式选项卡中显示的内容.输入必须是类名,输出应该是其中定义的所有样式.

我知道getComputedStyle DOM方法,但是这并没有分成我需要的单独的类.

javascript css google-chrome-devtools

2
推荐指数
1
解决办法
3677
查看次数

在c ++中更新存储在vector中的对象的引用

我有一个带有Actor类对象的std :: vector

std::vector<Actor>  actors(9);
Run Code Online (Sandbox Code Playgroud)

我需要创建一个采用单个输入参数的方法.该方法应该在Vector中找到正确的Actor对象并返回对它的引用.该引用稍后将被被调用者用于更新Object.我试过这样做

Actor& get_actor_ref_from_ped(Ped ped) {
    for (int i = 0; i < actors.size(); i++) {
        if (actors[i].isActorThisPed(ped)) {
            return actors[i];
        }
    }
    /* same issue with this approach
    for (auto &actor : actors) {
        if (actor.isActorThisPed(ped)) {
            return actor;
        }
    }*/
    //return null Actor
    return Actor::Actor();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试从另一个对象更新Actor引用时,它的行为就好像它是按值复制的.这是一个示例代码.actor.hasSpotLight()是1,但vectorActor.hasSpotLight()都是0

void action_next_spot_light() {
    Actor actor = get_actor_ref_from_ped(PLAYER::PLAYER_PED_ID());
    if (actor.isNullActor() == false) {
        if (actor.hasSpotLight()==false) {
            actor.setHasSpotLight(true);
            log_to_file("actor.hasSpotLight() after " + std::to_string(actor.hasSpotLight()));
            for (auto …
Run Code Online (Sandbox Code Playgroud)

c++ vector

0
推荐指数
1
解决办法
155
查看次数