小编Mad*_*ddy的帖子

Android完全透明状态栏?

我搜索了文档,但只找到了这个: 链接.哪个用来使酒吧半透明?我要做的是让状态栏完全透明(如下图所示),并使其向后兼容APK <19: 在此输入图像描述

我的styles.xml:

<resources xmlns:tools="http://schemas.android.com/tools">

  <style name="AppTheme" parent="Theme.AppCompat.Light">
  <item name="android:actionBarStyle">@style/ThemeActionBar</item>
  <item name="android:windowActionBarOverlay">true</item>
  <!-- Support library compatibility -->
  <item name="actionBarStyle">@style/ThemeActionBar</item>
  <item name="windowActionBarOverlay">true</item>
  </style>

  <style name="ThemeActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid">
  <item name="android:background"> @null </item>
  <!-- Support library compatibility -->
  <item name="background">@null</item>
  <item name="android:displayOptions"> showHome | useLogo</item>
  <item name="displayOptions">showHome|useLogo</item>

  </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

我能做什么:

在此输入图像描述

android statusbar

142
推荐指数
16
解决办法
17万
查看次数

为什么我们使用"伴侣对象"作为Kotlin中Java静态字段的替代?

"伴侣对象"的意图是什么?到目前为止,我一直在使用它只是为了static在需要时替换Java .

我很困惑:

  • 为什么称它为"伴侣"?
  • 这是否意味着要创建多个静态属性,我必须在companion object块内组合它?
  • 为了立即创建一个作用于类的单例实例,我经常写

:

companion object {
    val singleton by lazy { ... }
}
Run Code Online (Sandbox Code Playgroud)

这似乎是一种单一的方式.有什么更好的方法?

kotlin kotlin-companion

141
推荐指数
4
解决办法
3万
查看次数

如何从 Jetpack compose 中的 drawable 加载图像?

我试过下面的代码,但它在 UI 中没有反映任何东西,我在这里遗漏了什么?

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            loadUi()
        }
    }

    @Composable
    fun loadUi() {
        CraneWrapper {
            MaterialTheme {
                Image(
                    (ResourcesCompat.getDrawable(
                        resources,
                        R.mipmap.ic_launcher,
                        null
                    ) as BitmapDrawable).bitmap
                )
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android image androidx android-jetpack-compose

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

如何在android中实现Drag Distortion Image过滤器?

我正在研究自定义图像过滤器项目.我遇到了一个具有挑战性的任务,我应该应用扭曲过滤器,这可以在Funny face effect app中看到.我想开发Funny Face Effects中提供的前3个滤镜.

所以为了实现这样的效果,我开始使用GPUImageView GPUImage,在这里,它使用搜索条来扭曲来自中心的图像.我已经实现了Bulge失真.但有什么方法可以实现拖动过滤器,我可以通过拖动手势扭曲我的图像?

我们试图搜索除GPUImage之外的任何其他第三方类.但我们找不到有用的东西.

我们的查询如下: -

1)是否可以使用拖动手势应用拖动过滤器?(任何代码片段或参考可感知)

2)除GPU之外的任何其他第三方类可以帮助我们获得上述结果.

提前致谢!

在此输入图像描述

android opengl-es distortion android-gpuimageview

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

有什么方法可以隐藏webview中的元素吗?(机器人)

有一个我用webview上传的网页,但是我想在顶部隐藏1个文本链接.有没有办法做到这一点?链接在体内,所以我不能整体隐藏身体元素.网页是全部文本,底部是一个小图像,但每次加载时都会生成文本,所以我不能只复制/粘贴正文.

谢谢

android webview

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

是否可以在嵌套导航图 Android 中拥有动态目的地?

我在导航图中实现了一个嵌套图,它有 2 个图。在第一个图中,有 3 个片段,在第二个图中,有 2 个片段。图 2 包含在图 1 中。我想导航到(图 1 第 1 步)到(图 2 第 2 步)。我们不能在两个嵌套片段之间定义动作。那么有什么方法可以将动态目的地分配给导航吗?

在此处输入图片说明

图一

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mobile_navigation"
    app:startDestination="@id/dashboardFragment">
    <fragment
        android:id="@+id/dashboardFragment"
        android:name="com.navigationgraphexample.fragments.DashboardFragment"
        android:label="fragment_dashboard"
        tools:layout="@layout/fragment_dashboard" >
        <action
            android:id="@+id/action_dashboardFragment_to_stepOneFragment2"
            app:destination="@id/stepOneFragment" />
        <action
            android:id="@+id/action_dashboardFragment_to_sub_nav"
            app:destination="@id/sub_nav" />

    </fragment>
    <fragment
        android:id="@+id/stepOneFragment"
        android:name="com.navigationgraphexample.fragments.StepOneFragment"
        android:label="fragment_step_one"
        tools:layout="@layout/fragment_step_one">
        <action
            android:id="@+id/action_stepOneFragment_to_stepTwoFragment"
            app:destination="@id/stepTwoFragment" />
    </fragment>
    <fragment
        android:id="@+id/stepTwoFragment"
        android:name="com.navigationgraphexample.fragments.StepTwoFragment"
        android:label="fragment_step_two"
        tools:layout="@layout/fragment_step_two" />
    <fragment
        android:id="@+id/notificationFragment"
        android:name="com.navigationgraphexample.fragments.NotificationFragment"
        android:label="fragment_notification"
        tools:layout="@layout/fragment_notification" >
        <deepLink
            android:id="@+id/deepLink"
            app:uri="myapp.com/{myargs}"
            />
        <argument android:name="myargs"
            app:argType="integer"
            android:defaultValue="1" />
    </fragment>
    <include app:graph="@navigation/sub_nav" />
</navigation> …
Run Code Online (Sandbox Code Playgroud)

android android-navigation android-jetpack

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

我应该如何迁移我的应用程序以使用JobScheduler?

我的应用程序使用此经典模式来安排定期任务:

  1. 通过AlarmManager(通过setExactAndAllowWhileIdle(),因为即使在Doze中也必须关闭)设置确切的警报
  2. 一开始IntentServiceonReceive()通过WakefulBroadcastReceiver.startWakefulService()
  3. 完成工作onHandleIntent()WakefulBroadcastReceiver.completeWakefulIntent()在完成后打电话.

今天我将targetSdkVersion更新为26,并面临着WakefulBroadcastReceiver被弃用的可怕事实.

我立即去阅读API文档,发现以下内容:

从Android O开始,后台检查限制使这个类不再普遍有用.(从接收广播开始提供服务通常是不安全的,因为您无法保证您的应用程序此时处于前台,因此可以这样做.)相反,开发人员应该使用android.app.job.JobScheduler安排一项工作,这并不要求应用程序在执行此操作时保持唤醒锁定(系统将负责为该作业保持唤醒锁定).

这对我来说有点令人困惑,我真的不明白为什么AlarmManager.setExactAndAllowWhileIdle()不能让设备保持清醒状态的目的是什么.

因为我看到我无法设置运行作业的确切时间JobScheduler,只有条件(例如网络类型或充电状态)所以我不知道该怎么做.

我想到了

  • 使用AlarmManagerJobScheduler在一起

    设置闹钟(带setExactAndAllowWhileIdle())并JobScheduler立即开始作业(通过)onReceive().既然JobScheduler提供了WakeLock,WakefulBroadcastReceiver就不需要了.

    (这有意义吗?)

要么

  • 继续使用WakefulBroadcastReceiver,尽管被弃用.

我非常感谢你对此事的任何建议.

android android-jobscheduler

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

如何使用 XML 获取 BottomNavigationView 的高度?

有没有办法BottomNavigationView像这样使用 XML 属性获取高度的高度?attr/actionBarSize

<com.google.android.material.bottomnavigation.BottomNavigationView 
    android:layout_width="match_parent"
    android:background="@color/whiteColor"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    app:menu="@menu/bottom_navigation_menu"
    app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
    android:id="@+id/bottomNavigationView"/>
Run Code Online (Sandbox Code Playgroud)

android material-design bottomnavigationview

10
推荐指数
0
解决办法
2211
查看次数

如何在 Jetpack compose 中使用 EditText 或 TextInput 小部件?

我通过尝试一些像 Image 和 EditText 这样的小部件来探索 Jetpack compose。

对于文本输入,它有EditableText. 我试过下面的代码,但它没有在 UI 中显示任何内容

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            loadUi()
        }
    }

    @Composable
    fun loadUi() {
        CraneWrapper {
            MaterialTheme {
                val state = +state { EditorState("") }
                EditableText(
                    value = state.value,
                    onValueChange = { state.value = it },
                    editorStyle = EditorStyle(
                        textStyle = TextStyle(
                            fontSize = (50f)
                        )
                    )
                )
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?任何帮助,将不胜感激!

android androidx android-jetpack-compose android-compose-textfield

10
推荐指数
3
解决办法
7595
查看次数

如何在不知道密码时重置密钥库?

出于某种原因,我收到了这条消息:

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

我知道我无法"修复"密钥库,但我想重置密钥库,但不知道该怎么做,特别是因为我不知道默认密钥库的位置.

注意:我只想要"空白",所以我从默认重启.我仍然无法察觉他们的位置.

如何使用keytool或类似名称列出默认密钥库及其位置?

java keytool android-keystore

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