为何CardView内部需要嵌套LinearLayout?能否直接放置ImageView和TextView?
CardView嵌套LinearLayout的原因及使用疑问解答
为什么要在CardView里嵌套LinearLayout?
CardView是Android中的单子项容器组件,它只能直接包含一个子视图。示例里要同时展示ImageView(三明治图片)和TextView(Welcome文本)两个独立控件,必须用LinearLayout这类ViewGroup来把它们包裹起来——一方面满足CardView只能有一个直接子项的要求,另一方面通过LinearLayout的android:orientation="vertical"属性实现了图片在上、文本在下的垂直排列布局。
能不能直接在CardView里单独用ImageView或TextView?
- 完全可以。如果你的CardView只需要展示单个控件(比如只放一张图,或者只放一行文字),直接把这个控件设为CardView的子项就行,不需要额外嵌套容器。
- 但如果要同时放多个控件(像示例里的图片+文字组合),就绝对不能直接把多个控件都作为CardView的直接子项——CardView不支持这种写法,会导致布局编译失败,运行后也无法正常显示内容。
内容的提问来源于stack exchange,提问作者user16791235
相关产品推荐
相关产品推荐

