Android 中的复合列表项
Composite list item in Android
在我的聊天应用程序中,我有复合类型的消息。可以只是文字,也可以是文字和图片视频的混合。使用 android 布局在 ListView 中显示此类复合项的最佳方法是什么。
目前我以编程方式绘制这些消息。但是当涉及到不同的屏幕调整时,这会导致很多问题。
理想情况下,我希望每个(文本、图像、视频)都有 xml 布局,然后根据类型将它们添加到适配器中。
消息示例:
text
image
image
image
video
image
text
text
image
text
image
你是对的。您必须为内容创建不同的布局。在您的适配器中,您必须根据要绘制的视图来扩充这些布局。
例如。 Adapter.java
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (convertView == null) {
if(position % 2== 0) { // your condition
view = inflater.inflate(R.layout.list_row_text_msg, null);
} else {
view = inflater.inflate(R.layout.list_row_image_msg, null);
}
}
...
}
你准备好了。
在我的聊天应用程序中,我有复合类型的消息。可以只是文字,也可以是文字和图片视频的混合。使用 android 布局在 ListView 中显示此类复合项的最佳方法是什么。 目前我以编程方式绘制这些消息。但是当涉及到不同的屏幕调整时,这会导致很多问题。 理想情况下,我希望每个(文本、图像、视频)都有 xml 布局,然后根据类型将它们添加到适配器中。
消息示例:
text
image
image
image
video
image
text
text
image
text
image
你是对的。您必须为内容创建不同的布局。在您的适配器中,您必须根据要绘制的视图来扩充这些布局。
例如。 Adapter.java
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (convertView == null) {
if(position % 2== 0) { // your condition
view = inflater.inflate(R.layout.list_row_text_msg, null);
} else {
view = inflater.inflate(R.layout.list_row_image_msg, null);
}
}
...
}
你准备好了。