小编Dus*_*Dus的帖子

如何将Android SnackBar调整到屏幕上的特定位置

掌握新的android小吃吧,我试图将它设置为特定的y坐标.它似乎甚至不可能.

我已经尝试过获取快餐栏视图的父级,但是,没有什么可以做父母设置它的位置.

mSnackBar.getView().getParent();
Run Code Online (Sandbox Code Playgroud)

在挖掘实际的类时,有一个mView的实例,而mParent是私有的,无论如何都无法访问.

https://developer.android.com/reference/android/support/design/widget/Snackbar.html

android android-view snackbar android-snackbar

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

普罗米修斯:我如何用两个不同的指标求和

我有 2 个不同的指标: metric_a 具有字段类型 metric_b 具有字段类型(相同)

我试图总结同一类型的 a 和 b。如果类型仅存在于 metric_a 而不是 metric_b - 它应该返回 metric_b 的结果。我在普罗米修斯上尝试了很多选项:

sum by (type)(metric_a{job=~"provision-dev"}) or vector(0) + sum by(type)(metric_b{job=~"provision-dev"}) or vector(0):仅返回metric_a的值,不计算metric_b的结果。

sum by (type)(metric_a{job=~"provision-dev"}) + sum by(type)(metric_b{job=~"provision-dev"}):仅返回 metric_b 的值,不计算 metric_a 的结果。

sum by (cluster_id)(provision_scale_out_failures{job=~"provision-dev"} + provision_scale_out_success{job=~"provision-dev"}):这甚至不是一个正确的查询

基本上这是一个成功的例子:

指标_a:

  • 类型 = 类型_1,总和 = 5
  • 类型 = type_2,总和 = 2

指标_b:

  • 类型 = 类型_1,总和 = 4
  • 类型 = type_3,总和 = 3

查询结果:

  • 类型 = 类型_1,总和 = 9
  • 类型 = type_2,总和 = 2 …

prometheus

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

删除android上TabLayout下面的阴影

我正在尝试在使用TabLayout时删除选项卡下面的阴影,TabLayout是在普通布局中定义的(而不是作为工具栏或操作栏的一部分).

将主题设置为

<item name="android:windowContentOverlay">@null<item/>
Run Code Online (Sandbox Code Playgroud)

要么

<item name="windowContentOverlay">@null<item/>
Run Code Online (Sandbox Code Playgroud)

没用.

此外,将高程设置为0也没有帮助.

 <android.support.design.widget.TabLayout xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/sliding_tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:background="@android:color/white"
                app:backgroundTint="@android:color/transparent"
                app:tabIndicatorColor="@android:color/transparent"
                app:tabMode="scrollable"/>
Run Code Online (Sandbox Code Playgroud)

android android-styles android-tablayout

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

Android在特定时间开始运行JobScheduler

我想在每天的特定时间开始JobScheduler ,并在3小时后完成.

我有20分钟和3小时触发工作的部分,但是在JobInfo.Builder课程中,没有选择在准确的时间启动工作.

JobInfo.Builder类概述中,没有任何内容可以设置启动JobScheduler的时间.

显然,我不想整天运行它,并检查时间是否匹配,这将耗尽更多的电池而不是需要,并且编程很糟糕.

我正在考虑在我指定的时间发出警报并触发这项工作,但这似乎有点矫枉过正.

 JobInfo.Builder builder = new JobInfo.Builder(NIGHT_SYNC_JOB_ID, 
 new ComponentName(context, NightSyncDataJobService.class));

 //Job starts at 11pm, and ends at 2am. Running every 20 minutes.
 builder.setPersisted(true); //Job scheduled to work after reboot
 builder.setPeriodic(Consts.ONE_MINUTE * 20);

 JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
 jobScheduler.schedule(builder.build());
Run Code Online (Sandbox Code Playgroud)

如果您有任何其他问题的解决方案,那么触发此JobScheduler的AlarmManger旁边将非常感激.

android android-alarms android-jobscheduler

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

在intent中的活动之间传递接口 - 接口无法是Serializable或Parcelable

我想将第1个活动的界面传递给第2个活动.

我想从第二个活动的界面启动方法,这将影响第一个活动.

我很清楚,不使用onActivityResult机制非常过分,并且它可能不是很好的编程,但请跟我说.

这是问题 - 我的界面无法实现Serializable/Parcelable,因为接口无法实现另一个类.

这是我的界面:

public interface ITest {
     void onSuccess(String text);
}
Run Code Online (Sandbox Code Playgroud)

但是,我不能用这个界面开始我的活动,因为它不是Parcelable.

intent.putExtra("testInterface", new ITest() {
    @Override 
    void onSuccess(String text) {
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,我收到一个编译错误: Cannot resolve method 'putExtra(java.lang.String, ITest)'

android android-intent android-activity

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

哪个意图应打开数据使用屏幕(来自设置)

我希望从intent打开Data Usage屏幕.我搜索了android.provider.Settings类以获得适当的意图.试过:

new Intent(android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS)
new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS)
Run Code Online (Sandbox Code Playgroud)

这不会导致数据使用.

在此输入图像描述

我很清楚所有有这个问题的链接,但没有人有回应. 如何在android中打开系统数据使用活动? Android编程打开数据使用设置页面 等...

android android-intent android-settings

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

Android 库的崩溃报告 - 与应用程序iteslf 无关

我正在寻找一个崩溃报告器 api,它将在我们一直在开发的 sdk 上工作,无论使用该 sdk 的应用程序如何。

我不希望所有使用我们的 sdk 的应用程序为此目的执行任何其他定义,我希望它位于后台,并且与应用程序的 gradle、manifest 或应用程序的 onCreate 方法无关。

我为此进行了很多搜索,我发现所有 api 都需要满足上一段中的要求之一。

所以,这是我研究过的 sdk 列表,它们都需要应用程序定义,这不符合我的需求。

  1. Firebase:Fe,firebase需要在应用程序级别设置gradle依赖项,定义应用程序本身并在应用程序上下文中初始化sdk(我可以在库中处理):

    compile 'com.google.firebase:firebase-crash:10.2.0'
    
    Run Code Online (Sandbox Code Playgroud)
  2. 崩溃解决方案

  3. 阿克拉
  4. 新遗物
  5. 因斯塔布格
  6. 阿普特利根特
  7. 曲棍球应用程序

请不要提供类似“让所有使用 sdk 的应用程序定义 x、y、z”之类的内容 - 这不是我正在寻找的解决方案。

android crash-reports

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

使用应用程序上下文启动 Webview 时,它不会打开选择 html 组件(下拉列表)

我正在后台加载带有应用程序上下文的WebView ,这样当活动打开时,我们就不会出现加载 WebView 的时间延迟。

我有一个非常简单的 html 文件,加载到 webview 中,并带有选择组件:

<select>
  <option value="name1">value1</option>
  <option value="name2">value2</option>
  <option value="name3">value3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我在后台启动 webview,并使用应用程序上下文

WebView webView = new WebView(getApplicationContext());
webView.setJavaScriptEnabled(true);
webview.loadUrl("https://www.google.com");
Run Code Online (Sandbox Code Playgroud)

准备好后在活动中将其打开:

LinearLayout root = new LinearLayout(this);
root.setLayoutParams(new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.MATCH_PARENT, 
       LinearLayout.LayoutParams.MATCH_PARENT));
root.setOrientation(LinearLayout.VERTICAL);
root.addView(webView);
setContentView(root);
Run Code Online (Sandbox Code Playgroud)

Web 视图在活动中打开,但是,选择组件不会打开警报,以便从下拉列表中进行选择。原因是 - 警报仅适用于活动上下文。

这是我到目前为止所尝试的:

  1. 尝试更新视图的上下文是不可能的。
  2. 应对观点 - 不可能。
  3. 使用另一个活动启动网络视图,并将其传递给我当前的活动 - 也不起作用。
  4. 尝试调用 invalidate, reload - 不起作用。
  5. 在 Activity 的 onCreate() 中初始化 WebView :WebView webView = new WebView(this);这可行,但加载 WebView 需要时间,这不是我的意图。
  6. 事实上,我以编程方式加载 WebView,而不是使用 xml 布局设置它 - 这不是这里的问题。
  7. 我已经看到这个解决方案:/sf/answers/1962106191/ …

android webview

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

进度条在按钮中间

我想标准按钮的中间创建一个进度条,如下所示: 进度条

在xml布局中,当我点击进度条时,我确实看到它位于我希望它的位置,但实时,我看不到它,感觉就像隐藏在按钮下方. android studio xml

我试过了 :

  1. 更改视图的位置(进度条上方/下方的按钮)
  2. 不定
  3. 玩ProgressBar的风格

似乎没有什么工作.

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:elevation="1dp"
        android:text="test button" />

    <ProgressBar
        android:id="@+id/progress"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/button_id"
        android:layout_alignTop="@+id/button_id"
        android:layout_centerHorizontal="true"
        android:indeterminate="true"
        android:indeterminateTint="@android:color/holo_blue_dark"
        android:visibility="visible" />

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

android android-layout android-progressbar android-xml android-button

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

在Kotlin中使用乘法变量从抽象类继承

我有一个带有乘法变量的抽象类:

abstract class Animal(var name: String, var age: Int, var mother: Animal, 
                      var father: Animal, var friends: ArrayList<Animal>)
Run Code Online (Sandbox Code Playgroud)

现在,正如你可能猜到的那样,我想创造出来自Animal的"猫","狗","鹦鹉"等等.

但是,当我定义Cat类时,我不知道名称,年龄,...字段,所以代码不能编译.

class Cat : Animal()
Run Code Online (Sandbox Code Playgroud)

不编译,因为我们需要传递我们还不知道的变量.

另一个问题是:如何在类中启动内部类?一只猫的母亲和父亲都是猫.

kotlin

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