小编Jon*_*nik的帖子

改变Actionbar溢出的风格

我在My Current android应用程序中使用Theme.Holo.

在此输入图像描述

以上是我当前主题的溢出UI.

我想自定义溢出菜单的背景颜色为RGB(245,243,239),字体颜色为RGB(64,64,64).

以下是我正在使用的style.xml

<style name="CustomActivityTheme" parent="@android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/CustomActivityTheme.ActionBar</item>
    <item name="android:actionMenuTextColor">#000000</item>
    <item name="android:divider">@drawable/action_bar_div</item>
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>

<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/overflow</item>
</style>

<style name="CustomActivityTheme.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/actionbar_bg</item>
    <item name="android:titleTextStyle">@style/CustomActivityTheme.ActionBar.Text</item>
    <item name="android:subtitleTextStyle">@style/CustomActivityTheme.ActionBar.Text</item>
</style>

<style name="CustomActivityTheme.ActionBar.Text" parent="@android:style/TextAppearance">
    <item name="android:textColor">#000000</item>
    <item name="android:textSize">16sp</item>
</style>

<style name="activated" parent="android:Theme.Holo">
    <item name="android:background">?android:attr/activatedBackgroundIndicator</item>
</style>

<!-- style for removing the floating dialog -->
<style name="CustomDialogTheme">
    <item name="android:windowIsFloating">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

<!-- style for transparent image resource  activity -->

<style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item> …
Run Code Online (Sandbox Code Playgroud)

android background android-menu android-actionbar

5
推荐指数
2
解决办法
6848
查看次数

AbstractGoogleClient:致命信号11(SIGSEGV)

06-06 00:05:02.955: I/DEBUG(5660): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-06 00:05:02.955: I/DEBUG(5660): Build fingerprint: 'google/occam/mako:4.2.2/JDQ39/573038:user/release-keys'
06-06 00:05:02.955: I/DEBUG(5660): Revision: '11'
06-06 00:05:02.955: I/DEBUG(5660): pid: 3787, tid: 3806, name: pool-1-thread-1  >>> com.example.android <<<
06-06 00:05:02.955: I/DEBUG(5660): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
06-06 00:05:03.055: I/DEBUG(5660):     r0 74e4ab1c  r1 ffffffff  r2 00000008  r3 7293e04d
06-06 00:05:03.055: I/DEBUG(5660):     r4 7293e04d  r5 7293e04e  r6 00000000  r7 7293e04d
06-06 00:05:03.055: I/DEBUG(5660):     r8 …
Run Code Online (Sandbox Code Playgroud)

android google-api-client

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

无法使用Gradle构建Android应用程序,但使用sudo除外

我正在尝试使用gradle构建一个简单的'hello world'安卓应用程序.如果我发出命令它会建立好

sudo ./gradlew build - >构建正常

但没有sudo,

./gradlew build - >显示以下错误

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':MyStudioApplication'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':MyStudioApplication:_DebugCompile'.
      > Could not find any version that matches com.android.support:appcompat-v7:+.
        Required by:
            workspace:MyStudioApplication:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED …
Run Code Online (Sandbox Code Playgroud)

unix ubuntu android gradle android-gradle-plugin

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

如何在Android中将文件转换为base 64(如.pdf,.txt)?

如何将SD卡文件(.pdf,.txt)转换为基本64字符串和字符串发送到服务器

java base64 android

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

如何在测试中自动连接ErrorAttributes?

这可能是非常基本的,但我是Spring Boot的新手(以及Spring的许多方面)并且文档没有直接回答这个问题.

设置

使用最新的Spring Boot(1.2.1),我进行了一些集成测试,其中Spring被加载并且依赖性很好地自动装配(设置它非常简单).

测试的基类:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
public abstract class IntegrationTest {

}
Run Code Online (Sandbox Code Playgroud)

Application类没有比主要方法SpringApplication.run()和这些注释更多:

@ComponentScan
@EnableAutoConfiguration
@EnableScheduling
Run Code Online (Sandbox Code Playgroud)

示例测试:

public class UserServiceTest extends IntegrationTest {    
    @Autowired
    UserService userService;

    @Test
    public void testSomething() throws Exception {
        // Use UserService; make assertions
    }    
}
Run Code Online (Sandbox Code Playgroud)

为了获得必要的依赖,我只需spring-boot-starter-test:

<!-- Typical Spring Boot test dependencies: Spring Test, JUnit, Hamcrest, Mockito -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

问题

沿着这些行创建了一个自定义的ErrorController ,我定义了一个@Autowired ErrorAttributes字段.请参阅CustomErrorController源代码. …

spring integration-testing spring-test spring-boot

5
推荐指数
2
解决办法
4342
查看次数

如何在没有显式连接 URL 的情况下在 Spring Boot 中禁用 H2 的 DATABASE_TO_UPPER

我知道 H2 有一个名为 的布尔属性/设置DATABASE_TO_UPPER,您至少可以在连接 URL 中设置它,如下所示:;DATABASE_TO_UPPER=false

我想将其设置为 false,但在我的 Spring Boot 应用程序中,我没有在任何地方明确拥有 H2 连接 URL。不过,正如我在日志中看到的那样,确实有一个连接 URL:

o.s.j.d.e.EmbeddedDatabaseFactory: Shutting down embedded database: 
url='jdbc:h2:mem:2fb4805b-f927-49b3-a786-2a2cac440f44;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'
Run Code Online (Sandbox Code Playgroud)

所以问题是,DATABASE_TO_UPPER在这种情况下告诉 H2 禁用的最简单方法是什么?在使用EmbeddedDatabaseBuilder(见下文)创建 H2 数据源时,我可以在代码中执行此操作吗?或者在application properties也许?

这是在代码中显式初始化 H2 数据库的方式:

@Configuration
@EnableTransactionManagement
public class DataSourceConfig {

    @Bean
    public DataSource devDataSource() {
        return new EmbeddedDatabaseBuilder()
                .generateUniqueName(true)
                .setType(EmbeddedDatabaseType.H2)
                .setScriptEncoding("UTF-8")
                .ignoreFailedDrops(true)
                .addScripts("db/init.sql", "db/schema.sql", "db/test_data.sql")
                .build();
    }

}
Run Code Online (Sandbox Code Playgroud)

另外,我告诉 JPA/Hibernate 不要自动生成嵌入式数据库(没有这个,就会出现两个内存数据库启动的问题):

spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=none
Run Code Online (Sandbox Code Playgroud)

spring h2 spring-data-jpa spring-boot

5
推荐指数
2
解决办法
5632
查看次数

Android:显示和暂停GIF图片

我知道很多人已经问过如何在Android中显示GIF图像,但是大多数答案都有很多问题:

  • 他们使用现在不推荐使用的库。
  • 他们使用不允许暂停(和恢复)动画的库,这是我想做的事情。

目前最简单的方法是什么?

android animated-gif

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

Scala将单词保留为JSON字段名称,带有Json.writes [A](等效于@SerializedName)

我正在以下列方式使用Play 2.4.3和Scala生成JSON,提供隐式Writes[DeviceJson]创建Json.writes.

import play.api.libs.json.Json

case class DeviceJson(name: String, serial: Long, type: String)

object DeviceJson {
  implicit val writes = Json.writes[DeviceJson]
}
Run Code Online (Sandbox Code Playgroud)

当然,上面的代码没有编译,因为我试图type在case类中使用保留字作为字段名.

在这种情况下,输出JSON字段名称的最简单方法是什么,type或者match我不能用作Scala字段名称?

例如,使用Java和Gson,使用自定义JSON字段名称(与代码中的字段名称不同)对于@SerializedName注释来说是微不足道的.同样在杰克逊@JsonProperty.

我知道我可以通过滚动自己的Writes实现来做到这一点:

case class DeviceJson(name: String, serial: Long, deviceType: String)

object DeviceJson {
  implicit val writes = new Writes[DeviceJson] {
    def writes(json: DeviceJson) = {
      Json.obj(
        "name" -> json.name,
        "serial" -> json.serial,
        "type" -> json.deviceType
      )
    }
  }
} …
Run Code Online (Sandbox Code Playgroud)

json scala playframework playframework-2.0

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

片段如何在 Android Talkback 中启动时宣布自己?

我想Fragment在 Android Talkback 发布时宣布自己。Activity当在 AndroidManifest 文件的活动标签上添加“android:label”时,它会宣布自己。我该怎么做Fragment

android android-fragments talkback android-accessibility

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

如何在 API 18 上为 KeyPairGeneratorSpec 设置密钥大小?

Android Keystore (with KeyPairGeneratorSpecetc) 在 API 级别 18 中引入。 但是,该方法KeyPairGeneratorSpec.Builder.setKeySize()仅在 API 级别 19 中引入。

在支持 API 级别 18 (Android 4.3) 的同时,是否可以设置密钥大小?

android android-keystore android-4.3-jelly-bean android-security

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