小编msa*_*sal的帖子

vue 3 vite 与 i18n 的国际化

我目前正在尝试使用“@intlify/vite-plugin-vue-i18n”国际化我的 vue 3 vite 项目。我在这里面临的问题是,我目前必须为每个组件导入并设置 t 变量才能使用它。
示例组件:

<template>
  t('translation')
</template>

<script>
import { useI18n } from 'vue-i18n'
export default {
  setup(){
    const {t} = useI18n();
    return {t}
  },
};
</script>
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果可能的话,使变量“t”全局化的最佳方法是什么?我找不到任何关于此的示例/帮助,因为它们都将其导入到每个组件中。所有帮助将不胜感激!:) 作为参考,这里是相关文件。

export default defineConfig({
  plugins: [
    vue(),
    vueI18n({
      include: path.resolve(__dirname, './src/locales/**')
    })
  ]
})
Run Code Online (Sandbox Code Playgroud)

主要.ts:

import i18n from './i18n';
const app = createApp(App);
app.use(i18n);
app.mount("#app");
Run Code Online (Sandbox Code Playgroud)

i18n.js:

import { createI18n } from 'vue-i18n'
import messages from '@intlify/vite-plugin-vue-i18n/messages'

export default createI18n({
  legacy: false,
  locale: 'no',
  messages
})
Run Code Online (Sandbox Code Playgroud)

vue.js vuex vue-i18n vuejs3 vite

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

不同主题的图标颜色

不同的 Android 设备有不同的主题。这意味着,背景颜色(如对话框中的颜色)可能因 Android 版本和制造商而异。

这可能会导致图标变得“不可见”:

比较:2.3 <-> 4.0.3

通过在目标特定文件夹中提供不同颜色的图标,例如在文件夹中提供白色图标drawable-v14,在drawable-v10. 但这并不能解决制造商定制主题(可能是 TouchWiz、Blur 或 Sense)带来的问题。通过这种方法根本不可能覆盖所有设备。

另一种方法是在白色图标周围绘制一个小的黑色边框,反之亦然。但如果背景是灰色的,就像 ICS 中那样,它看起来也不会很好。

所以,问题是:如何提供自定义图标,使其在每个主题上都能很好地工作,而不触及主题本身?

icons android themes background colors

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

<item> -Tag中的颜色引用,在<layer-list>中

我有一个关于在a中使用引用的问题layer-list drawable.

我想在我的应用程序中使用自定义按钮layer-list.

  • 这是btn.xml按钮的最终绘制,由以下部分组成selector:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/btn_normal"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
  • 压制状态 - drawable btn_pressed看起来像这样:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="?custom_color" />
        </shape>
    </item>
    <item android:drawable="@drawable/btn_normal"/>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

关键部分是线,我声明颜色作为参考custom_color,我定义如下.

  • attrs.xml:
<resources>
    <attr name="custom_color" format="reference|color" />
</resources>
Run Code Online (Sandbox Code Playgroud)
  • 的themes.xml:
<resources>
    <style name="MyTheme" parent="android:Theme.Light.NoTitleBar">
        <item name="custom_color">#ff33b5e5</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

Eclipse根本没有给我任何错误,它编译得很好.但是当我在我的ICS Nexus S或仿真器(无论是什么版本)上启动应用程序时,它会崩溃.Logcat指出以下内容:

03-23 14:33:38.832:E/AndroidRuntime(636):引起:android.content.res.Resources $ NotFoundException:来自可绘制资源ID的文件res/drawable/btn.xml#0x7f020006

[...]

03-23 14:33:38.832:E/AndroidRuntime(636):引起:android.content.res.Resources $ NotFoundException:来自可绘制资源ID的文件res/drawable/btn_pressed.xml#0x7f020009

如果我注释掉,中的shape元素layer-list,或设置硬编码的颜色,一切正常.因此,在图层列表中引用属性似乎存在问题.

那么,有没有人知道这个问题的解决方案?我想根据我的应用程序使用的主题更改该图层列表中的颜色.

android reference colors

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

动态更改ViewPagerIndicator标题

我当前的项目使用一些ListFragments来显示数据行.行每隔几秒动态更新一次.行数随每次更新而变化ListFragment.

我想向用户显示行数,并认为它的最佳位置FragmentViewPagerIndicator中的标题旁边.我提供了一个示例图像以便更好地理解:

Viewpagerindicator

可悲的是,我对如何实现这一目标毫无头绪.我尝试了以下方法:

public class PagerAdapter extends FragmentPagerAdapter {
    private int numOne = 0;
    private int numTwo = 0;

    // ...

    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
        case 0:
            return "List 1 (" + numOne + ")";
        case 1:
            return "List 2 (" + numTwo + ")";
        default:
            return "";
    }

    public void setNumOne(int num) {
        this.numOne = num;
    }

    public void setNumTwo(int num) {
        this.numTwo = …
Run Code Online (Sandbox Code Playgroud)

android title viewpagerindicator

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

空json对象而不是null,当没有数据时 - >如何用gson反序列化

我正在尝试用Google的gson库解析json数据.但是json数据表现不佳.

当一切顺利时,它看起来像这样:

{
    "parent": {
        "child_one": "some String",
        "child_two": "4711",
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

child_one应该解析为String,child_twoas int.但有时候其中一个孩子没有导致空对象的值,而不是null像这样:

{
    "parent": {
        "child_one": "some String",
        "child_two": {},
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有权限改变json feed,因此我必须在反序列化期间处理它.但我迷失在这里.如果我只是让它解析第二个案例给我一个JsonSyntaxException.

我想过使用自定义JsonDeserializer.有没有像检查每个元素一样的东西JsonObject,如果它是,如果它是,检查是否entrySet.isEmpty().如果是,请删除该元素. 但我不知道如何完成迭代......

java null json gson deserialization

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