小编sil*_*udo的帖子

BottomNavigationView的自定义TextSize支持android

我想从android支持库25.0.0更改BottomNavigationView的textSize

<android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/colorPrimaryDark"
        android:foregroundTint="@color/colorAccent"
        app:itemIconTint="@android:color/white"
        app:itemTextColor="@android:color/white"
        app:layout_anchor="@id/lyt_container"
        app:layout_anchorGravity="bottom"
        app:itemTextAppearance="@style/TextStyleBNV"
        app:menu="@menu/nav_menu" />

<style name="TextStyleBNV">
        <item name="android:textSize">@dimen/twelve_sp</item>
        <item name="android:padding">0dp</item>
        <item name="textAllCaps">false</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?

android android-support-library androiddesignsupport

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

编辑:Android绘制针图像到这个圆圈类似米仪表

到目前为止,我能够使用一些代码引用表stackoverflow绘制半圆.现在我想把针扎到这个半圆圈.我不知道如何做到这一点.这是Semi circle代码

    package in.ashish29agre.stackoverflow.sample.semicircle;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.view.View;

public class MyGraphView extends View {
    private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    private float[] value_degree;
    private int[] COLORS = { Color.GREEN, Color.RED,  Color.GREEN, Color.RED };
    // size of bigger half circle
    RectF rectf = null;
    // size of smaller half circle
//    RectF rectf2 = new RectF(45, 45, 275, 275);
    // size of the smallest half circle
//    RectF rectf3 = new …
Run Code Online (Sandbox Code Playgroud)

android android-custom-view android-canvas

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

如何在GoLang中创建单例数据库类

编辑 解决:如何在GoLang中创建单例DBManager类.

我提到了如何创建单例的几个代码示例,但我希望在这些方法中使用方法并在单例引用上调用它们.我的守则如下

package dbprovider

import (
    "github.com/jinzhu/gorm"
    _"github.com/jinzhu/gorm/dialects/sqlite"
    "rest/article"
    "log"
)

type DBOperations interface {
    AddArticle(article *article.Article)
}

type DBManager struct {
    db            *gorm.DB
    isInitialized bool
}

var dbManagerInstance = new()

func GetDBManager() DBManager {
    return dbManagerInstance
}

func new() DBManager {
    localDbRef, err := gorm.Open("sqlite3", "../articles.db")
    if (err != nil) {
        panic("Error initializing db")
    } else {
        log.Print("DB Initialized successfully")
    }
    return DBManager{db:localDbRef, isInitialized:true}
}

func (dbManager DBManager)  AddArticle(article article.Article) (err error) {
    if (dbManager.isInitialized) {
        tx …
Run Code Online (Sandbox Code Playgroud)

singleton-methods go go-gorm

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

在纵向模式下,JavaCV录像机方向不正确

您好我使用https://github.com/bytedeco/javacv/录制视频.使用横向模式时,方向很好但是当我将方向更改为纵向模式时,视频旋转-90度.任何机构都知道我可能做错了什么.这是代码.

package org.bytedeco.javacv_android_example.record;

import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.hardware.Camera;
import android.hardware.Camera.PreviewCallback;
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.os.PowerManager;
import android.util.Log;
import android.view.Display;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_imgproc;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.javacv_android_example.R;

import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ShortBuffer;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class RecordActivity …
Run Code Online (Sandbox Code Playgroud)

android video-capture rotation android-camera javacv

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

拦截来自Android Java/JNI的网络调用

嗨我希望拦截Android设备中发生的任何网络活动.比如说浏览器正在打开一些网站或api的http连接.

如果这是不可能的,那么至少我希望拦截浏览器url android说firefox chrome或opera.

因此,每当用户在浏览器中打开任何网址时,我都需要拨打电话.我已经知道为活动和拦截提供一个意图过滤器.但是如果请求转到在浏览器情况下不会发生的意图解析器,这一切都会发生.

类似的问题在这里打开拦截互联网电话android 但没有任何回应.

如果有人有任何解决方案或有类似的要求可以讨论.

其他资源https://gist.github.com/madeye/2297083 代理也是一种解决方案,但我不知道如何实现它.

android webkit webview intercept

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

以编程方式将 TextView 添加到网格布局对齐方式不正确

嗨,我正在尝试将带有 drawableLeft 的 TextView 添加到 GridLayout。我在循环中添加这个 TextView。TextView 被正确添加,但未正确对齐。每个 textview 应该在一个水平行中采用相等的宽度,这不会发生。

以下是我正在使用的代码

    GridLayout gridLayout = new GridLayout(getContext());
            gridLayout.setAlignmentMode(GridLayout.ALIGN_BOUNDS);
            gridLayout.setColumnCount(2);
            gridLayout.setRowCount(3);
            TextView titleText;
            for (int i = 0; facilities != null && i < facilities.size(); i++) {
                titleText = new TextView(getContext());
                titleText.setText(facilities.get(i));
                gridLayout.addView(titleText, i);
                titleText.setCompoundDrawablesWithIntrinsicBounds(rightIc, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

android dynamic android-gridlayout

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

C#Jwt令牌生成失败,asp.net core 2.2

我正在尝试为userId生成令牌,但是我无法使其正常工作。

这是我的JwtTokenGenerator类

namespace WebApiDocker.Config.Jwt
{
    //https://www.c-sharpcorner.com/article/jwt-json-web-token-authentication-in-asp-net-core/
    public class JwtTokenProvider
    {
        private readonly JwtSecurityTokenHandler _jwtTokenHandler;
        private readonly AppSettings _appSettings;

        public JwtTokenProvider(JwtSecurityTokenHandler jwtTokenHandler, AppSettings appSettings) 
        {
            _jwtTokenHandler = jwtTokenHandler;
            _appSettings = appSettings;
        }

        public string GenerateTokenForUser(int userId)
        {
            var secret = Encoding.ASCII.GetBytes(_appSettings.Secret);
            Console.WriteLine($"Key {secret}");
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, userId.ToString())
                }),
                Expires = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(secret), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = _jwtTokenHandler.CreateToken(tokenDescriptor);
            return _jwtTokenHandler.WriteToken(token);

        }

        private string GenerateTokenForNewUser()
        {
            var …
Run Code Online (Sandbox Code Playgroud)

c# authentication jwt

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

Android支持设计:BottomNavigationView

我正在努力实现这样的目标https://material.google.com/components/bottom-navigation.html#bottom-navigation-behavior

但是回收器视图隐藏在工具栏下方,并且对BottomNavigationView没有任何影响

以下是我的代码

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">


        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.AppBarLayout>


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <android.support.design.widget.BottomNavigationView
            android:id="@+id/nm_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="@color/colorPrimaryDark"
            android:foregroundTint="@color/colorAccent"
            app:itemIconTint="@android:color/white"
            app:itemTextColor="@android:color/white"
            app:menu="@menu/nav_menu" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/rv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@id/nm_bottom"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />
    </RelativeLayout>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

item.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:padding="4dp">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardElevation="2dp">

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="?android:attr/listPreferredItemHeight"
            android:padding="4dp">

            <ImageView
                android:id="@+id/icon"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_alignParentBottom="true"
                android:layout_alignParentTop="true"
                android:layout_marginRight="6dip"
                android:contentDescription="TODO"
                android:src="@drawable/ic_storage" />

            <TextView …
Run Code Online (Sandbox Code Playgroud)

android androiddesignsupport

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

来自公钥的 sha256 哈希

我正在尝试从公钥证书中读取 sha256。证书如下所示。

我正在运行以下命令来读取 sha256 哈希,但它没有给出正确的结果:

openssl x509 -in test.crt -pubkey -noout | openssl rsa -pubin -outform der | \
  openssl dgst -sha256 -binary | openssl enc -base64
Run Code Online (Sandbox Code Playgroud)

我得到了一些错误的值 RTy7aSpufwRDWUudgZCwR5Xc7NETd6Imk4YlzvgKTRU=

正确的值是:

sha256/i1RfARNCYn9+K3xmRNTaXG9sVSK6TMgY9l8SDm3MUZ4=
sha256/7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=
sha256/h6801m+z8v3zbgkRHpq6L29Esgfzhj89C1SyUCOQmqU=
Run Code Online (Sandbox Code Playgroud)

我想知道三个值是如何进来的,是的,只有一个是正确的,但是为了验证这些值,我确实运行了下面给出的示例程序:

public class Main {

    public static void main(String[] args) throws IOException {
        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        String hostName = "www.google.com";
        CertificatePinner certificatePinner = new CertificatePinner.Builder()
                .add(hostName, "sha256/pqrmt")
                .build();
        OkHttpClient client = new OkHttpClient.Builder()
                .addNetworkInterceptor(interceptor)
                .certificatePinner(certificatePinner)
                .build();
        Request request = new Request.Builder()
                .url("https://" + hostName) …
Run Code Online (Sandbox Code Playgroud)

java ssl sha256 rsa-sha256

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

了解 Optionals.orElse

我正在尝试学习Java 8 功能 Optional。我对 Optional.orElse 的工作方式感到困惑。这是我尝试过的:

public class OptionalsExample {

    public static void main(String[] args) {
        Name userName = new Name();
        userName.setName("John Doe");
        Optional<Name> optionalName = Optional.ofNullable(userName);
        optionalName.ifPresent(
                (Name value) -> {
                    Optional<String> optionalNameString = Optional.ofNullable(value.getName());
                    optionalNameString.ifPresent(name -> System.err.println("Name is: " + optionalNameString.get()));
                }
        );
    }
    private static void printError() {
        System.err.println("No Name present");
    }
}
Run Code Online (Sandbox Code Playgroud)

我担心的是,如果设置了 name 一切正常,但是当没有设置 name 时,我想执行orElse。我想在评论时做点什么

userName.setName("John Doe");
Run Code Online (Sandbox Code Playgroud)

喜欢打印 No Name Found

我怎样才能做到这一点?

TIA

java null optional notnull java-8

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

在swift 3游乐场回调

嗨,我想在操场上执行这行代码,但得到任何响应输出.我的代码如下:

func testCallbackEmpty( callback: @escaping  () -> Void) {

        DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
            callback()
        }
    }

    testCallbackEmpty(callback: { () -> Void in
        print("Hey called here")
    })


enum Result {
    case OK, FAILED
}


func mainCallback(callback: @escaping (Result) -> Void) {
    DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
        callback(Result.OK)
    }

}

mainCallback(callback: { result in
    print("Hurray \(result)")
})
Run Code Online (Sandbox Code Playgroud)

callback swift swift3

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