2024年4月11日发(作者:亓官雅彤)
加载
widget
出错解决方法
在加载
widget
时出现错误
:
D/AppWidgetHostView( 122): remoteViews ==
Views@43e1a820
W/ResourceType( 122): Failure getting entry for 0x7f020001 (t=1 e=1) in
package 0: 0xffffffb5
W/AppWidgetHostView( 122): updateAppWidget couldn't find any view, using
error view
W/AppWidgetHostView( 122): eException: Binary XML file
line #8: Error inflating class iew
W/AppWidgetHostView( 122): at
View(:513)
W/AppWidgetHostView( 122): at
teView(PhoneLay
:56)
W/AppWidgetHostView( 122): at
ViewFromTag(:563)
W/AppWidgetHostView( 122): at
te(:618)
W/AppWidgetHostView( 122): at
e(:407)
W/AppWidgetHostView( 122): at
e(:320)
W/AppWidgetHostView( 122): at
(:930)
W/AppWidgetHostView( 122): at
AppWidget(AppWidgetHostVie
:221)
W/AppWidgetHostView( 122): at
AppWidget(AppWidgetHostVie
:155)
W/AppWidgetHostView( 122): at
View(:218)
W/AppWidgetHostView( 122): at
teAddAppWidget(:911)
W/AppWidgetHostView( 122): at
vityResult(:542)
W/AppWidgetHostView( 122): at
Widget(:1188)
W/AppWidgetHostView( 122): at
vityResult(:539)
W/AppWidgetHostView( 122): at
chActivityResult(:3890)
W/AppWidgetHostView( 122): at
rResults(:3511)
W/AppWidgetHostView( 122): at
SendResult(:3557)
W/AppWidgetHostView( 122): at
$2800(:125)
W/AppWidgetHostView( 122): at
tyThread$Message(:2063)
W/AppWidgetHostView( 122): at
chMessage(:99)
W/AppWidgetHostView( 122): at (:123)
W/AppWidgetHostView( 122): at
(:4627)
W/AppWidgetHostView( 122): at
Native(Native Method)
W/AppWidgetHostView( 122): at
(:521)
W/AppWidgetHostView( 122): at
Init$(:
868)
W/AppWidgetHostView( 122): at
(:626)
W/AppWidgetHostView( 122): at (Native
Method)
W/AppWidgetHostView( 122): Caused by:
tionTargetException
W/AppWidgetHostView( 122): at
iew.
W/AppWidgetHostView( 122): at
uctNative(Native Method)
W/AppWidgetHostView( 122): at
tance(:446)
W/AppWidgetHostView( 122): at
View(:500)
W/AppWidgetHostView( 122): ... 26 more
W/AppWidgetHostView( 122): Caused by:
ces$NotFoundException: Resource is not a
Drawable (color or path): TypedValue{t=0x1/d=0x7f020001 a=-1
r=0x7f020001}
W/AppWidgetHostView( 122): at
awable(:1681)
W/AppWidgetHostView( 122): at
wable(:601)
W/AppWidgetHostView( 122): at
iew.
W/AppWidgetHostView( 122): ... 30 more
W/InputManagerService( 58): Window already focused, ignoring focus gain
of: MethodClient$Stub$Proxy@44044528
经过查找原因是屏幕像素的问题,
HVGA
屏
density=160
;
QVGA
屏
density=120
;
WVGA
屏
=240
;
WQVGA
屏
density=120
density
值表示每英寸有多少个显示点,与分辨率是两个概念。
不同
density
下 屏幕分辨率信息,以
480dip*800dip
的
WVGA(density=240)
为例
density=120
时 屏幕实际分辨率为
240px*400px
(两个点对应一个分辨率)
状态栏和标题栏高各
19px
或者
25dip
横屏是屏幕宽度
400px
或者
800dip,
工作区域高度
211px
或者
480dip
竖屏时屏幕宽度
240px
或者
480dip,
工作区域高度
381px
或者
775dip
density=160
时 屏幕实际分辨率为
320px*533px
(
3
个点对应两个分辨率)
状态栏和标题栏高个
25px
或者
25dip
横屏是屏幕宽度
533px
或者
800dip,
工作区域高度
295px
或者
480dip
竖屏时屏幕宽度
320px
或者
480dip,
工作区域高度
508px
或者
775dip
density=240
时 屏幕实际分辨率为
480px*800px
(一个点对于一个分辨率)
状态栏和标题栏高个
38px
或者
25dip
横屏是屏幕宽度
800px
或者
800dip,
工作区域高度
442px
或者
480dip
竖屏时屏幕宽度
480px
或者
480dip,
工作区域高度
762px
或者
775dip
apk
的 资源包中,当屏幕
density=240
时使用
hdpi
标签的资源
当屏幕
density=160
时,使用
mdpi
标签的资源
当屏幕
density=120
时,使用
ldpi
标签的资源。
不加任何标签的资源是各种分辨率情况下共用的。
布局时尽量使用单位
dip
,少使用
px
在
java
的资源文件
res
里有
drawable drawable-hdpi drawable-ldpi
和
drawable-
mdpi
四个目录,在
drawable-hdpi drawable-ldpi
和
drawable-mdpr
这三个目录分别对应
这个三个不同的屏幕分辨率,
当屏幕的分辨率是这三个其中之一时,在加载图片是会去对应的目录去找图片,如果没有找到就会报错,
drawable-hdpi drawable-ldpi
和
drawable-mdpr
这三个目录对应的分辨率分别是
480X800
、
240X400
和
320X533
drawable
这个目录不能忽略,你可以把所有的图片都放到这个目录下,这个目录下不分屏幕的分辨率
(及不管屏幕的分辨率是多少,系统都会先去这个目录去找,找不到了在会去相应的分辨率的目录下去
找)
2024年4月11日发(作者:亓官雅彤)
加载
widget
出错解决方法
在加载
widget
时出现错误
:
D/AppWidgetHostView( 122): remoteViews ==
Views@43e1a820
W/ResourceType( 122): Failure getting entry for 0x7f020001 (t=1 e=1) in
package 0: 0xffffffb5
W/AppWidgetHostView( 122): updateAppWidget couldn't find any view, using
error view
W/AppWidgetHostView( 122): eException: Binary XML file
line #8: Error inflating class iew
W/AppWidgetHostView( 122): at
View(:513)
W/AppWidgetHostView( 122): at
teView(PhoneLay
:56)
W/AppWidgetHostView( 122): at
ViewFromTag(:563)
W/AppWidgetHostView( 122): at
te(:618)
W/AppWidgetHostView( 122): at
e(:407)
W/AppWidgetHostView( 122): at
e(:320)
W/AppWidgetHostView( 122): at
(:930)
W/AppWidgetHostView( 122): at
AppWidget(AppWidgetHostVie
:221)
W/AppWidgetHostView( 122): at
AppWidget(AppWidgetHostVie
:155)
W/AppWidgetHostView( 122): at
View(:218)
W/AppWidgetHostView( 122): at
teAddAppWidget(:911)
W/AppWidgetHostView( 122): at
vityResult(:542)
W/AppWidgetHostView( 122): at
Widget(:1188)
W/AppWidgetHostView( 122): at
vityResult(:539)
W/AppWidgetHostView( 122): at
chActivityResult(:3890)
W/AppWidgetHostView( 122): at
rResults(:3511)
W/AppWidgetHostView( 122): at
SendResult(:3557)
W/AppWidgetHostView( 122): at
$2800(:125)
W/AppWidgetHostView( 122): at
tyThread$Message(:2063)
W/AppWidgetHostView( 122): at
chMessage(:99)
W/AppWidgetHostView( 122): at (:123)
W/AppWidgetHostView( 122): at
(:4627)
W/AppWidgetHostView( 122): at
Native(Native Method)
W/AppWidgetHostView( 122): at
(:521)
W/AppWidgetHostView( 122): at
Init$(:
868)
W/AppWidgetHostView( 122): at
(:626)
W/AppWidgetHostView( 122): at (Native
Method)
W/AppWidgetHostView( 122): Caused by:
tionTargetException
W/AppWidgetHostView( 122): at
iew.
W/AppWidgetHostView( 122): at
uctNative(Native Method)
W/AppWidgetHostView( 122): at
tance(:446)
W/AppWidgetHostView( 122): at
View(:500)
W/AppWidgetHostView( 122): ... 26 more
W/AppWidgetHostView( 122): Caused by:
ces$NotFoundException: Resource is not a
Drawable (color or path): TypedValue{t=0x1/d=0x7f020001 a=-1
r=0x7f020001}
W/AppWidgetHostView( 122): at
awable(:1681)
W/AppWidgetHostView( 122): at
wable(:601)
W/AppWidgetHostView( 122): at
iew.
W/AppWidgetHostView( 122): ... 30 more
W/InputManagerService( 58): Window already focused, ignoring focus gain
of: MethodClient$Stub$Proxy@44044528
经过查找原因是屏幕像素的问题,
HVGA
屏
density=160
;
QVGA
屏
density=120
;
WVGA
屏
=240
;
WQVGA
屏
density=120
density
值表示每英寸有多少个显示点,与分辨率是两个概念。
不同
density
下 屏幕分辨率信息,以
480dip*800dip
的
WVGA(density=240)
为例
density=120
时 屏幕实际分辨率为
240px*400px
(两个点对应一个分辨率)
状态栏和标题栏高各
19px
或者
25dip
横屏是屏幕宽度
400px
或者
800dip,
工作区域高度
211px
或者
480dip
竖屏时屏幕宽度
240px
或者
480dip,
工作区域高度
381px
或者
775dip
density=160
时 屏幕实际分辨率为
320px*533px
(
3
个点对应两个分辨率)
状态栏和标题栏高个
25px
或者
25dip
横屏是屏幕宽度
533px
或者
800dip,
工作区域高度
295px
或者
480dip
竖屏时屏幕宽度
320px
或者
480dip,
工作区域高度
508px
或者
775dip
density=240
时 屏幕实际分辨率为
480px*800px
(一个点对于一个分辨率)
状态栏和标题栏高个
38px
或者
25dip
横屏是屏幕宽度
800px
或者
800dip,
工作区域高度
442px
或者
480dip
竖屏时屏幕宽度
480px
或者
480dip,
工作区域高度
762px
或者
775dip
apk
的 资源包中,当屏幕
density=240
时使用
hdpi
标签的资源
当屏幕
density=160
时,使用
mdpi
标签的资源
当屏幕
density=120
时,使用
ldpi
标签的资源。
不加任何标签的资源是各种分辨率情况下共用的。
布局时尽量使用单位
dip
,少使用
px
在
java
的资源文件
res
里有
drawable drawable-hdpi drawable-ldpi
和
drawable-
mdpi
四个目录,在
drawable-hdpi drawable-ldpi
和
drawable-mdpr
这三个目录分别对应
这个三个不同的屏幕分辨率,
当屏幕的分辨率是这三个其中之一时,在加载图片是会去对应的目录去找图片,如果没有找到就会报错,
drawable-hdpi drawable-ldpi
和
drawable-mdpr
这三个目录对应的分辨率分别是
480X800
、
240X400
和
320X533
drawable
这个目录不能忽略,你可以把所有的图片都放到这个目录下,这个目录下不分屏幕的分辨率
(及不管屏幕的分辨率是多少,系统都会先去这个目录去找,找不到了在会去相应的分辨率的目录下去
找)