小编tmo*_*use的帖子

如何在Android中创建始终顶级的全屏叠加活动

我希望能够创建一个始终位于Android显示屏前面的Activity.它应该不会收到任何输入,只需将其传递给下面的任何应用程序.像HUD一样的东西.

我能够研究我需要将底层窗口类型设置为TYPE_SYSTEM_ALERT,但看起来Android忽略了我的代码 - 即使我从清单中删除了android.permission.SYSTEM_ALERT_WINDOW权限也没有异常抛出.(需要使用此窗口类型).当我尝试在对话框上使用ALERT类型时,它工作正常,但我无法将对话框设置为全屏透明实体.这是我的代码,也许有一些简单的遗漏.

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

     requestWindowFeature(Window.FEATURE_NO_TITLE);
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
     getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);             
     getWindow().setBackgroundDrawableResource(android.R.color.transparent);
     getWindow().setFormat(PixelFormat.TRANSLUCENT);
     setContentView(R.layout.main);
}
Run Code Online (Sandbox Code Playgroud)

必须在xml清单中外部启用半透明设置,否则它也不起作用.

 <item name="android:windowIsTranslucent">true</item>
Run Code Online (Sandbox Code Playgroud)

android window android-layout android-activity

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

在ORMLite中使用UUID作为id(Android)

我已经使用ORMLite成功创建了表,看起来它正确地将uuid列添加为主键,索引等.

public class Stat {
    @DatabaseField(id = true)
    protected UUID uuid = UUID.randomUUID();
...
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够使用提供的DAO的全部功能并执行(Stat是我的类要保持,getUUID()返回UUID):

Stat statClassInstance = new Stat();
RuntimeExceptionDao<Stat, Integer> statDao = getHelper().getStatDataDao();

statDao.deleteById(statClassInstance.getUUID());
Run Code Online (Sandbox Code Playgroud)

编译器给我一个错误:

The method deleteById(Integer) in the type RuntimeExceptionDao<Stat,Integer> is not applicable for the arguments (UUID)
Run Code Online (Sandbox Code Playgroud)

我缺少的是如何在接受整数的deleteById等方法中使用UUID ID.我已经读过UUID作为ID被合并到ORMLite中,但没有提到它是否只是使它们成为主键,而不支持所有这些辅助方法(queryForId,deleteIds)等.

android ormlite

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