小编Dro*_*man的帖子

86
推荐指数
5
解决办法
20万
查看次数

android - 用于布局的圆形矩形边框

在我的应用程序中,我将使用很多布局"边框",这是一个简单的圆角矩形.为了测试它的外观,我创建了一个透明背景的.png文件:

在此输入图像描述

我只是将图像设置为我的布局背景.问题是我需要不同比例的其他布局,这将浪费时间在Photoshop中为我的所有布局创建这样的图像.

问题:我如何使用android API(也许是XML形状)做同样的事情,但允许矩形拉伸到任何尺寸并仍保持清晰?

android android-layout

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

开关盒中的OR运算符?

我们来看一个简单的开关盒,看起来像:

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.someValue :
        case R.id.someOtherValue:
            // do stuff
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么不允许使用||运营商?喜欢

switch (v.getId()) {
    case R.id.someValue || R.id.someOtherValue:
        // do stuff
        break;
}
Run Code Online (Sandbox Code Playgroud)

switch-case构造非常类似于if-else语句,但您可以使用OR运算符if.switch-case不接受此运营商的背景是​​什么?

java switch-statement

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

唤醒设备的正确,非弃用方式是什么?

我的要求是:在GCM消息到达后,设备应该唤醒以显示高优先级通知.设备应打开屏幕.

目前我正在使用WakeLock来实现这一目标.该newWakeLock()方法需要传递锁定级别和标志(作为第一个参数,按位或者).

我正在使用PowerManager.ACQUIRE_CAUSES_WAKEUP旗帜,因为它完全符合我的需要.但是,我对锁定级别有点沮丧.所以根据文档,我有以下选择:

  • PARTIAL_WAKE_LOCK- 与ACQUIRE_CAUSES_WAKEUP屏幕不兼容/不打开屏幕
  • SCREEN_DIM_WAKE_LOCK - 已弃用
  • SCREEN_BRIGHT_WAKE_LOCK - 已弃用
  • FULL_WAKE_LOCK - 已弃用

FLAG_KEEP_SCREEN_ON在这种情况下,建议完全没用.我最终只是在压制弃用警告:

@SuppressWarnings("deprecation")
PowerManager.WakeLock screenOn = ((PowerManager) c.getSystemService(Context.POWER_SERVICE)).newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);
screenOn.acquire();
mNotifyMgr.notify(mNotificationId, mBuilder.build());
screenOn.release();
Run Code Online (Sandbox Code Playgroud)

问题:在描述的情况下是否有一种非弃用的可靠方法来唤醒设备?

编辑 我不是要求解决方法来唤醒设备.我的问题是,是否可以Activity使用不弃用的API 从后台唤醒设备(没有运行)

android android-wake-lock

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

EditText的边框?

我看到了许多相关的讨论,但没有找到合适的解决方案.我需要做的是在EditText小部件的顶部和底部创建一个黑色边框.那可能吗?

android android-edittext

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

android失败得到一些条目

我有一个简单的Activity显示定制Dialog与一些RadioGroups,没有什么特别的.在使用应用程序时,我注意到一些奇怪的LogCat输出标记为警告并标记为ResourceType:

07-19 23:29:18.073: W/ResourceType(32621): Failure getting entry for 0x010802c1 (t=7 e=705) in package 0 (error -75)
Run Code Online (Sandbox Code Playgroud)

我的应用程序正在按预期工作(虽然此时我已经完成了不到10%),但我没有注意到任何问题.任何人都知道这个警告的含义,以及将来是否会有任何相关问题?

PS在根据SGS2 I9100(4.1.2 JB)上测试时显示警告,并且在SGS Note N7000(也是4.1.2)上测试时没有出现

android

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

android - 长按一下从ListView中删除项目

我在尝试从长按一下从列表视图中删除项目时遇到了一些麻烦.以下是代码:

public class MListViewActivity extends ListActivity {

private ListView lv;
private String[] some_data = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    some_data = getResources().getStringArray(R.array.mdata);

    // Bind resources Array to ListAdapter
    ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this,
            R.layout.list_item, R.id.label, some_data);
    this.setListAdapter(myAdapter);

    lv = getListView();
    lv.setDividerHeight(3);

    lv.setOnItemLongClickListener(new OnItemLongClickListener() {

        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view,
                int arg2, long arg3) {

            // Can't manage to remove an item here

            return false;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

android android-arrayadapter android-listview

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

Android - 如何从Fresco磁盘缓存获取图像文件?

我正在使用Fresco库.

我在Fresco文档中找不到任何相关信息,如何从Fresco的磁盘缓存中获取图像文件?

java android image-caching fresco

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

如何避免java上的java.lang.NoClassDefFoundError:android/os/PersistableBundle?

我使用TinyBus库在我的应用程序中调度事件.MinSDK是15,编译SDK是23.

在21之前的设备上,我面临的问题似乎影响了许多使用反射的应用.一旦我尝试在我的基Activity类(继承自AppCompatActivity)的总线上注册,我就会得到以下崩溃日志:

E/AndroidRuntime: java.lang.NoClassDefFoundError: android/os/PersistableBundle
E/AndroidRuntime:     at java.lang.Class.getDeclaredMethods(Native Method)
E/AndroidRuntime:     at java.lang.Class.getPublicMethodsRecursive(Class.java:955)
E/AndroidRuntime:     at java.lang.Class.getMethods(Class.java:938)
E/AndroidRuntime:     at de.halfbit.tinybus.impl.ObjectsMeta.<init>(ObjectsMeta.java:58)
E/AndroidRuntime:     at de.halfbit.tinybus.TinyBus.processQueue(TinyBus.java:346)
E/AndroidRuntime:     at de.halfbit.tinybus.TinyBus.register(TinyBus.java:178)
E/AndroidRuntime:     at com.package.name.activities.InitializedActivity.onStart(InitializedActivity.java:62)
E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1166)
E/AndroidRuntime:     at android.app.Activity.performStart(Activity.java:5264)
E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2047)
E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099)
E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:138)
E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:4929)
E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我知道这个错误是由dalvik无法初始化它在dex文件中找不到的类引起的.有很多关于这个问题的信息和问题(因为它也会影响Otto和其他人),但到目前为止我只看到一个修复: …

java android android-reflection

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

Eclipse无法解决字符串资源错误

我刚刚创建了一个新的android项目,并为它准备了基本结构.Eclipse告诉我它无法解析任何字符串,甚至标准"hello""app_name"字符串:O重新启动IDE没有帮助.有什么建议?可以在此处找到屏幕截图

eclipse android

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