小编mar*_* k.的帖子

如何在Android中获得USABLE屏幕宽度和高度

我正在创建一个应用程序,我真的需要知道正确的屏幕尺寸.其实我知道怎么做......但是出现了一个问题,因为即使你这样做requestWindowFeature(Window.FEATURE_NO_TITLE);,这个:在此输入图像描述

仍然停留在屏幕上似乎,它也被视为屏幕的一部分,因此"screenWidth"实际上比可用部分更大.

是不是有任何方法如何获得可用部分的大小而不是整个屏幕?或者至少得到'滚动的东西'的大小(但是会有问题,有些设备没有显示它们)?

java android screen

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

将本地JSON文件映射到键值对数组

通常,人们希望根据用户的选择使用不同的值集.例如,取决于所选择的语言,根据所选择的主题说明相同事物的不同方式,或相同类型的不同颜色.我正在尝试做后者,所以我用相同的键但不同的值制作了几个JSON文件.这是'green_theme'JSON:

{
  "darker_color": "#1a3300",
  "lighter_color": "#4f9900",
  "error_color": "#b42805"
}
Run Code Online (Sandbox Code Playgroud)

现在我希望组件从注入的服务中获取所需的颜色代码,如下所示:

<div [style.color]="themeService.getColorCodeByKey('darker_color')">example</div>
Run Code Online (Sandbox Code Playgroud)

这就是我尝试实现服务的方式:

@Injectable()
export class ThemeService {
    private readonly RED_SKIN_SOURCE = "assets/themes/red_skin.json"
    private readonly GREEN_SKIN_SOURCE = "assets/themes/green_skin.json" 
    private readonly YELLOW_SKIN_SOURCE = "assets/themes/green_skin.json"
    public skinData: {[key: string]: string} = {};

constructor(private http:Http) {
    this.setSkin(ThemeService.Skin.Green);
}

getColorCodeByKey(key: string): string {
    return this.skinData[key];
}

public setSkin(skin: ThemeService.Skin) {
    let observable: Observable<Response>;
    switch(skin) {
        case ThemeService.Skin.Red: {
            observable =  this.http.get(this.RED_SKIN_SOURCE);
            break;
        }
        case ThemeService.Skin.Yellow: {
            observable =  this.http.get(this.YELLOW_SKIN_SOURCE);
            break;
        }
        case ThemeService.Skin.Green: { …
Run Code Online (Sandbox Code Playgroud)

angular

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

标签 统计

android ×1

angular ×1

java ×1

screen ×1