小编and*_*ras的帖子

Android textview文本在自定义字体的两侧被切断

这是在预览和设备上发生的事情: 文字错误

TextView没什么特别的,只是加载自定义字体:

public class TestTextView extends AppCompatTextView {

    public TestTextView(Context context) {
        super(context);

        init(context);
    }

    public TestTextView(Context context, AttributeSet attrs) {
        super(context, attrs);

        init(context);
    }

    public TestTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);

        init(context);
    }

    void init(Context context) {

        Typeface t = Typeface.createFromAsset(context.getAssets(), "fonts/daisy.ttf");

        setTypeface(t);
    }
}
Run Code Online (Sandbox Code Playgroud)

布局也很基础,但以防万一:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/material_red200"
    android:orientation="vertical">    

    <*custompackage* .TestTextView
        android:gravity="left"
        android:padding="0dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="just some text for testing"
        android:textColor="@color/material_black"
        android:textSize="100dp" />

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

如您所见,左侧部分,如"j"和"f"被切断.

设置填充或边距不起作用.

从其他程序使用时,此字体适合其框架.

提前致谢.

编辑:在我的案例中,@ play_err_提到的不是解决方案.

  • 我在最终版本中使用自动调整大小的textview,因此添加空格将非常困难. …

fonts android textview

17
推荐指数
4
解决办法
3681
查看次数

Kotlin reified仿制药没有按计划保留类型

我正在创建一个TypeToken类似于Gson的类似系统,我偶然发现了一些我不理解的东西.

这段代码的意图是只有一个TypeReference带有一个泛型参数的类可以容纳多个.该类将使用inline函数创建,这样用户无需知道Holder该类.

请考虑以下代码:

package testing

import java.lang.reflect.ParameterizedType
import java.lang.reflect.Type

abstract class TypeReference<T : Holder> {
    val type: Type = (javaClass.genericSuperclass as ParameterizedType).actualTypeArguments[0]

    override fun toString(): String {
        return type.typeName
    }
}

inline fun <reified T : Holder> create() = object : TypeReference<T>() {}

inline fun <reified WHAT> createSingle() = object : TypeReference<Single<WHAT>>() {}

class Foo

interface Holder

interface Single<T> : Holder

fun main(args: Array<String>) {
    println(create<Single<HashMap<Int, String>>>())
    println(create<Single<Foo>>())

    println(createSingle<HashMap<Int, String>>())
    println(createSingle<Foo>())
} …
Run Code Online (Sandbox Code Playgroud)

generics kotlin kotlin-reified-type-parameters

12
推荐指数
1
解决办法
398
查看次数

Flutter / Dart自动完成功能可在VS Code中使用,但不适用于Android Studio

我以为AS是开发时受主要支持的环境,所以这确实很不寻常。

Alt + EnterAndroid Studio

  • Flutter插件:v35.2.1

  • Dart插件:v183.6270

Android Studio

阅读此内容后,在VS Code中打开了相同的项目

Ctrl + .VS Code

  • Flutter插件:v.2.26.1

  • Dart插件:v2.26.1

在此处输入图片说明

扑:

flutter --version

Flutter 1.2.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 8661d8aecd (3 months ago) • 2019-02-14 19:19:53 -0800
Engine • revision 3757390fa4
Tools • Dart 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
Run Code Online (Sandbox Code Playgroud)

这是为什么?

dart android-studio visual-studio-code flutter

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

TypeScript:“无法将命名空间用作类型”

注意:我发现的所有其他问题都与 Angular 相关和/或具有与此完全不同的设置。


我有以下设置:

inner/action.ts:

export type MyAction = string;
Run Code Online (Sandbox Code Playgroud)

inner/functions.ts

import { MyAction } from "./action";

const identity = (action: MyAction): string => action;

export {
    identity
};
Run Code Online (Sandbox Code Playgroud)

inner/index.ts

import * as MyAction from "./functions";

export { MyAction };
export * from "./action";
Run Code Online (Sandbox Code Playgroud)

usage.ts

import { MyAction } from "./inner";

const action: MyAction = "";
//            ^___ error is here
Run Code Online (Sandbox Code Playgroud)

错误:无法使用命名空间“MyAction”作为类型

尽管 IntelliJ 提供了在代码中导航到该位置的功能。

为什么不允许在这两种情况下使用相同的名称,我该怎么做才能使它们都具有相同的名称?

types module typescript

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

如何在Java中设置环境变量而没有“非法反射访问”?如何使用附加打开?

长话短说,我必须在运行时为特定测试设置一个环境。

这里的答案很好用,我正在使用这个。问题是我收到此警告:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by **YOUR PACKAGE** (file: **YOUR FILE** ) to field java.util.Collections$UnmodifiableMap.m
WARNING: Please consider reporting this to the maintainers of **YOUR PACKAGE**
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Run Code Online (Sandbox Code Playgroud)

我已经开始寻找解决方案,这里的另一个 SO 答案“解决”了单元测试的问题,使用相同的方法设置环境变量。

我正在谈论来自他们的 Github 源代码的这行代码,它触发了这个错误。( field.setAccessible(true);)

所以看起来除了设置给定的标志之外没有其他方法可以解决这个问题,就像警告所建议的那样。

然后我想知道这个警告是否严重,以及我的程序是否会在几个月内运行(我使用的是 OpenJDK 11)。事实证明,这个illegal-access …

java unit-testing environment-variables kotlin

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

Kotlin类授权功能

这就是我在Kotlin中创建类授权的方法:

class CustomList<T>(private val data: ArrayList<T> = ArrayList<T>()) : List<T> by data
Run Code Online (Sandbox Code Playgroud)

但是,我不想将数据放在构造函数中,因为我希望列表在CustomList创建时为空:

class CustomList<T> : List<T> by data { 
    private val data = ArrayList<T>()
}
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.

如何创建data内部字段并将List委托给它的方法而不必编写所有委托方法?

kotlin

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

React Formik 不适用于数字输入

使用Formikwith Ant Design,这是一个简单的设置。

您可以在此处查看粘贴的完整代码:

import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

import { Formik } from "formik";
import { Form, Input, InputNumber } from "antd";

function App() {
  const name = "name";
  const count = "count";

  return (
    <div className="App">
      <h1>Formik Testing</h1>

      <Formik
        initialValues={{ count: 32, name: "sd" }}
        validate={async values => {
          console.log("Validate", values);
          return {
            count: `Value ${values.count} is not valid.`
          };
        }}
        onSubmit={(values, actions) => {
          console.log(values);
        }}
        render={props => { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs antd formik

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