小编Den*_*nko的帖子

Android工具栏中心标题和自定义字体

我正在尝试找出使用自定义字体作为工具栏标题的正确方法,并将其置于工具栏中(客户端要求).

目前,我正在使用旧的ActionBar,我将标题设置为空值,并使用setCustomView自定义字体TextView并使用ActionBar.LayoutParams将其居中.

有没有更好的方法呢?使用新工具栏作为我的ActionBar.

android android-layout android-theme android-styles android-toolbar

347
推荐指数
16
解决办法
34万
查看次数

如何设置工具栏文本和后退箭头颜色

工具栏背景为深色,我希望文本和后退箭头为白色.我试过跟随,但它不起作用.

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="colorPrimary">@color/blue</item>
        <item name="colorPrimaryDark">@color/blue_darker</item>
        <item name="colorAccent">@color/purple</item>
        <!-- item name="android:textColorPrimary">@color/white</item--> // I don't want to set this, changes everywhere. 
        <item name="android:textColorSecondary">@color/white</item>
        <item name="android:toolbarStyle">@style/AppTheme.ToolbarStyle</item>
        <item name="toolbarStyle">@style/AppTheme.ToolbarStyle</item>

        <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowStyle</item>

    </style>

    <style name="AppTheme.ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
        <!--<item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>-->
        <item name="android:textColor">@color/white</item> // doesn't work
        <item name="titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item>
        <item name="android:titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item>
        <item name="subtitleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

android toolbar android-layout android-theme android-styles

107
推荐指数
9
解决办法
15万
查看次数

如何重置BehaviorSubject

我有一个BehaviorSubject我想要重置 - 我的意思是我希望最新值不可用,就像它刚刚创建一样.

我似乎没有看到一个API来做这个,但我想有另一种方法来实现相同的结果?

我希望的行为是我需要发出事件,并且我希望订阅者在他们订阅时获得最新事件 - 如果特定经理处于"已启动"状态.但是当这个经理被"停止"时,最新的事件应该不可用(就像它从未在第一时间开始一样).

stream reactive-programming rx-java rx-java2

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

错误:(1, 1) 无法执行 Clang-Tidy:在 AndroidStudio 中找不到或无法执行 clazy-standalone

在我的 AndroidStudio 项目中,我使用 JNI 和 CMake 和 CPP 代码创建了本机库。一切都构建并运行正常,但是当我尝试提交代码并将其推送到 git 时,CodeAnalysis 出现在“消息”底部选项卡中,向我显示错误:

Error:(1, 1) Unable to execute Clang-Tidy: clazy-standalone is not found or cannot be executed
Run Code Online (Sandbox Code Playgroud)

“首选项”->“其他设置”->“Clang-Tidy”中,我看到“内置 Clang-Tidy 版本:13.0.0”和“使用外部 Clang-Tidy 而不是内置版本”的选项(未设置)

您能否告诉我在哪里可以找到 clazy-standalone 的设置(以进行设置)和/或至少抑制错误消息?

我是 C/CPP 编程的新手,主要用 kotlin/Java 编写

PS 我使用配备 MacOS BigSur 11.6.1 和 AndroidStudio Bumblebee 2021.1.1 Beta 5 的 MacBook Pro

c++ java-native-interface cmake clang android-studio

17
推荐指数
3
解决办法
8307
查看次数

如何使用 DownloadManager 将下载的文件存储到分配的应用程序文件目录?

我正在尝试使用 DownloadManager 将下载的文件存储到由 android 分配的 app/s 文件目录中。为此,我使用以下代码

downloadManager=(DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
    Uri uri = Uri.parse(link);
    DownloadManager.Request request= new DownloadManager.Request(uri);
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    request.setVisibleInDownloadsUi(false);
    request.setTitle(fileName);

    File file = ctx.getFilesDir();
    Uri myPath=Uri.fromFile(file);
    request.setDestinationUri(myPath);

    Long reference= downloadManager.enqueue(request);
    Toast.makeText(DownloadActivity.this,"Downloading Started",Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

通过使用此代码,我收到以下错误

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.puranepaper.PuranePaper, PID: 18263
java.lang.SecurityException: Unsupported path /data/data/com.puranepaper.PuranePaper/files
    at android.os.Parcel.readException(Parcel.java:2005)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
    at android.content.ContentProviderProxy.insert(ContentProviderNative.java:476)
    at android.content.ContentResolver.insert(ContentResolver.java:1552)
    at android.app.DownloadManager.enqueue(DownloadManager.java:1163)
    at com.puranepaper.PuranePaper.DownloadActivity$1.onClick(DownloadActivity.java:92)
    at android.view.View.performClick(View.java:6310)
    at android.view.View$PerformClick.run(View.java:24970)
    at android.os.Handler.handleCallback(Handler.java:790)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:171)
    at android.app.ActivityThread.main(ActivityThread.java:6654)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Run Code Online (Sandbox Code Playgroud)

我如何删除“不支持的路径”错误以及我在此代码中做错了什么

directory android store download-manager file-uri

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

您的 SDK 位置包含非 ASCII 字符 - 工具菜单中没有 Android

我刚刚下载并安装了 Android Studio,但“工具”菜单中没有Android子菜单,仪表板上也没有AVD Manager图标。当我启动SDK Manager时,出现错误消息:

\n\n
\n

请指定 Android SDK 位置

\n
\n\n

SDK 管理器屏幕截图:“请指定 Android SDK 位置”

\n\n

如果我单击Android SDK Location字段旁边的“编辑”链接,则会出现另一条错误消息:

\n\n
\n

您的 SDK 位置包含非 ASCII 字符

\n
\n\n

SDK 组件设置屏幕截图:“您的 SDK 位置包含非 ASCII 字符”

\n\n

我研究了这些有些相似的问题,但没有一个对我有帮助:

\n\n\n\n

我看到该路径确实包含非 ASCII 字符,但是除了卸载 Android …

sdk non-ascii-characters android-studio android-sdk-manager avd-manager

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

ProGuard 导致 NullPointerException

minifyEnabled true在我的 gradle 中设置时,我在启动我的应用程序时收到NullPointerException

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.ae.formulaecalendar/de.ae.formulaecalendar.view.calendar.CalendarActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2444)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2504)
   at android.app.ActivityThread.-wrap11(ActivityThread.java)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1367)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:5461)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference
   at de.ae.formulaecalendar.view.calendar.CalendarActivity.onCreate(Unknown Source)
   at android.app.Activity.performCreate(Activity.java:6251)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2397)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2504) 
   at android.app.ActivityThread.-wrap11(ActivityThread.java) 
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1367) 
   at android.os.Handler.dispatchMessage(Handler.java:102) 
   at …
Run Code Online (Sandbox Code Playgroud)

android build proguard minify shrinkresources

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