Android Studio XML中使用|运算符出现Cannot resolve flag错误的原因与解决
Android Studio TextView Gravity 报错问题解决
报错原因
- 你同时组合了垂直方向互斥的属性:
bottom和center_vertical,这两个属性都控制垂直方向对齐逻辑,同时指定会让IDE的静态检查逻辑混乱。虽然Android运行时能处理这种冲突,但IDE无法识别这种矛盾组合,因此抛出Cannot resolve flag: 17错误。 - 另外,属性值之间加空格的写法(
end | bottom)虽然能正常编译,但IDE的语法检查器不兼容这种格式,也是触发报错的原因之一。
更优实现方式
要实现TextView内容右下角对齐,完全不需要center_vertical,直接用官方推荐的无空格竖线组合写法即可:
<TextView android:id="@+id/tv_result" android:layout_width="match_parent" android:layout_height="250dp" android:gravity="end|bottom" android:maxLength="12" android:textSize="46sp" android:text=""/>
通用注意事项
- 同一方向的对齐属性不要同时组合:垂直方向的
top/bottom/center_vertical三选一,水平方向的start/end/center_horizontal三选一。 - 多属性组合时,属性值之间不要加空格,直接用
|连接,既符合Android官方规范,也能避免IDE报错。
内容的提问来源于stack exchange,提问作者Kumar Utsav
相关产品推荐
相关产品推荐

