小编Jef*_*xon的帖子

如何自定义AppCompat材质按钮样式?

我正在使用AppCompat主题,我想在我的按钮上设置minHeight属性:

<style name="Theme.MyTheme" parent="Theme.AppCompat">
    <item name="android:buttonStyle">@style/MyButtonStyle</item>
</style>

<style name="MyButtonStyle" parent="...?">
    <item name="android:minHeight">60dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但是,没有Widget.AppCompat.Button样式可以设置为父项MyButtonStyle.如果我使用android:Widget.Button,那么我的所有按钮看起来都像旧的蹩脚风格.我尝试了各种其他AppCompat主题TextAppearance.AppCompat.Button,但它们不起作用.

省略按钮样式的父主题也会导致按钮无法正确设置样式.

如何自定义默认值Theme.AppCompat buttonStyle

android android-appcompat android-ui android-theme

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

EditText选择锚点丢失

我刚注意到EditText我的应用程序中的所有字段都没有正确显示选择锚点.例如:

没有选择锚点的图像

但是,我期望的是出现正确的锚点,例如:

带选择锚点的图像

EditText我的应用中受影响的典型示例:

<EditText
    android:id="@+id/text_message"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/button_send"
    android:layout_marginLeft="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:inputType="text|textShortMessage"
    android:layout_marginRight="4dp"
    android:hint="@string/hint_chat_send" />
Run Code Online (Sandbox Code Playgroud)

另请注意,"粘贴"悬停视图在我的应用程序中有一个奇怪的白色边框,但在其他应用程序中它是完全透明的.

我怀疑某种主题问题,因为它影响我的应用程序中的多个屏幕,但我找不到哪些属性可能导致此问题的信息.

UPDATE

所以,我已经花了几太多的时间调试EditText,TextView以及Editor框架类无济于事.一切似乎都按预期运作.

Activity使用以下布局在同一个应用程序中创建了一个新的空白:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">

    <EditText
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:hint="test" />

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

在我的其他屏幕中,我正在使用AppCompat库及其相关的主题,但在此Activity我将主题和活动改为Activity具有内置材质主题的Android股票:

public class TestActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    setTheme(android.R.style.Theme_Material_Light_NoActionBar);
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_test);
}
...
Run Code Online (Sandbox Code Playgroud)

我的理解setTheme是以这种方式调用应该覆盖我的应用程序中的任何可能的自定义styles.xml.不过,我看到了这个:

标记未在模拟器上显示

这里有点不知所措......

android android-edittext

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

从 Kubernetes 中部署的容器执行跟踪路由时不允许进行操作 [Linux 功能]

为了尝试了解 Kubernetes 中的安全上下文和功能,我创建了以下 pod 描述:

apiVersion: v1
kind: Pod
metadata:
  name: app
spec:
  securityContext:
    runAsUser: 1000
  containers:
  - name: busy
    image: busybox
    command:
     - sleep
     - "3600"
    securityContext:
      runAsUser: 2000
      capabilities : 
        add: ["NET_ADMIN", "SYS_TIME"]
Run Code Online (Sandbox Code Playgroud)

我在其中添加 NET_ADMIN 和 SYS_TIME 功能。

给定 Linux 功能手册页: http://man7.org/linux/man-pages/man7/capability.7.html

我希望能够执行跟踪路由或设置日期:

$ kubectl exec -it app -- traceroute google.fr
traceroute: socket: Operation not permitted
command terminated with exit code 1

$ kubectl exec -it app -- /bin/sh date --set="10:00:00"
date: can't set date: Operation not permitted …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes

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

如何在 Nest.js (Node) 中使用 HTTP/2

我读到 Express 4.x 与 Node.js 原生 HTTP2(从 8.4+ 开始)不兼容,我希望 Express 5.x 上的进展比它更多。但是当我开始考虑 Express5.x 可能会在我的下一个 Node.js 项目中发布的很晚时 - 我来到了 Nest.js。

有谁知道 Nest.js 是否可以与原生 HTTP2 支持一起使用?

我听说过的唯一支持此功能的 Node.js 框架是 Fastify。或者还有其他的吗?最好是支持 Express 插件的。

node.js express http2 nestjs

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

如何使用 NestJS 向特定模块添加路由前缀?

我想在模块级别添加路由前缀和/或通常具有复杂的全局路由前缀逻辑。

我知道我可以使用未记录的函数NestApplication.setGlobalPrefix来设置单个全局前缀:

// main.ts
app.setGlobalPrefix(version);
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,我想在模块级别设置前缀。

看来我可以通过在控制器级别的装饰器中设置我想要的前缀来实现这一点:

//controler.ts
@Get('/PREFIX/health')
async getHealth() {

  // TODO: implement
  return {};
}
Run Code Online (Sandbox Code Playgroud)

但这似乎相当笨拙且容易出错。当然有更好的方法吗?

javascript node.js express typescript nestjs

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