我想从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)
有什么我想念的吗?
到目前为止,我能够使用一些代码引用表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) 编辑 解决:如何在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) 您好我使用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设备中发生的任何网络活动.比如说浏览器正在打开一些网站或api的http连接.
如果这是不可能的,那么至少我希望拦截浏览器url android说firefox chrome或opera.
因此,每当用户在浏览器中打开任何网址时,我都需要拨打电话.我已经知道为活动和拦截提供一个意图过滤器.但是如果请求转到在浏览器情况下不会发生的意图解析器,这一切都会发生.
类似的问题在这里打开拦截互联网电话android 但没有任何回应.
如果有人有任何解决方案或有类似的要求可以讨论.
其他资源https://gist.github.com/madeye/2297083 代理也是一种解决方案,但我不知道如何实现它.
嗨,我正在尝试将带有 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) 我正在尝试为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) 我正在努力实现这样的目标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) 我正在尝试从公钥证书中读取 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 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
嗨,我想在操场上执行这行代码,但得到任何响应输出.我的代码如下:
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)