小编Zee*_*ran的帖子

Nexus 5(4.4.2)手电筒LED无法开启

我写了一个简单的手电筒应用程序,我在HTC Sensation,Nexus 7,HTC One,Moto X,Galaxy S3,Galaxy S4和Nexus 5上进行了测试.唯一不起作用的是Nexus 5它没有抛出异常,因此找出错误证明是困难的.

这是我一直在使用的代码,但是:

            sCamera = Camera.open();
            sParameters = sCamera.getParameters();
            sParameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
            sCamera.setParameters(sParameters);
            sCamera.startPreview();
Run Code Online (Sandbox Code Playgroud)

这里是LogCat应该打开LED时发生的屏幕截图:http://i.imgur.com/vXn5PoH.png

我从Nexus 5中提取了闪光模式列表,它说它们是:开,关,自动,火炬和红眼.这些都是预期的.我已经在开启,关闭和火炬之间进行了测试,但是没有任何东西能让灯光闪烁.而且我知道LED没有坏掉,因为其他手电筒应用程序运行正常.

android led android-camera flashlight nexus-5

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

自定义视图未显示在图形布局中

我创建了一个自定义 Button、TextView 和 ImageView。这些都没有在任何 XML 的图形布局中正确显示。它没有显示带有自定义字体的按钮或文本,而是显示一个带有我正在调用的自定义类名称的巨大灰色框。如何让这些显示在预览中?

public class FontTextView extends TextView {

public static Typeface FONT_NAME;

public FontTextView(Context context) {
    super(context);
    if(FONT_NAME == null) FONT_NAME = Typeface.createFromAsset(context.getAssets(), "font.ttf");
    this.setTypeface(FONT_NAME);
}
public FontTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    if(FONT_NAME == null) FONT_NAME = Typeface.createFromAsset(context.getAssets(), "font.ttf");
    this.setTypeface(FONT_NAME);
}
public FontTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if(FONT_NAME == null) FONT_NAME = Typeface.createFromAsset(context.getAssets(), "font.ttf");
    this.setTypeface(FONT_NAME);
}
Run Code Online (Sandbox Code Playgroud)

<com.example.gesturetest.FontTextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Text placeholder" />
Run Code Online (Sandbox Code Playgroud)

android android-custom-view graphical-layout-editor

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

使用正则表达式取消驼峰式 Java 字符串

这段代码似乎工作得很好,但我很想用正则表达式来清理它。

 public static void main(String args[]) {
    String s = "IAmASentenceInCamelCaseWithNumbers500And1And37";
    System.out.println(unCamelCase(s));
}

public static String unCamelCase(String string) {
    StringBuilder newString = new StringBuilder(string.length() * 2);
    newString.append(string.charAt(0));
    for (int i = 1; i < string.length(); i++) {
        if (Character.isUpperCase(string.charAt(i)) && string.charAt(i - 1) != ' '
            || Character.isDigit(string.charAt(i)) && !Character.isDigit(string.charAt(i - 1))) {
            newString.append(' ');
        }
        newString.append(string.charAt(i));
    }
    return newString.toString();
}
Run Code Online (Sandbox Code Playgroud)

输入:

IAmASentenceInCamelCaseWithNumbers500And1And37
Run Code Online (Sandbox Code Playgroud)

输出:

I Am A Sentence In Camel Case With Numbers 500 And 1 And 37
Run Code Online (Sandbox Code Playgroud)

我不喜欢使用那个丑陋的 if …

java regex string

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