以编程方式创建一行不相等的图像视图?

时间:2016-06-13 15:37:04

标签: java android

我不知道如何使这项工作。是否自定义arrayadapter或其他东西。看起来真的很简单。对于每个人,只需指定属性数量?

例如,我制作了RecycleView array of pet owners。我点击其中一个人,看看他们有多少宠物/儿童/汽车:

This is a mockup of what I'm trying to say.

所以对于其他人来说,它可能就像......

  • Chris有3只宠物,1只小孩,1辆车
  • Bobby有0只宠物,0只小孩,1辆车
  • 人3有6只宠物,5个孩子,2辆车

评级栏与我想要做的类似,但它不能满足我的要求,因为所有图标和图标本身的数量可能不同(汽车品牌,宠物品种,儿童性别) )我不认为这是将其标记为重复的理由。

1 个答案:

答案 0 :(得分:1)

所以您的布局文件可能看起来像;




 <?xml version =“1.0”encoding =“utf-8”?>&# xA;< LinearLayout xmlns:android =“http://schemas.android.com/apk/res/android”
机器人:layout_width = “match_parent” 
机器人:layout_height = “match_parent” 
机器人:取向= “垂直” >

 <的LinearLayout
机器人:ID = “@ + ID / pet_layout” 
机器人:layout_width = “match_parent” 
机器人:layout_height = “WRAP_CONTENT” 
机器人:取向= “水平”/>

 <的LinearLayout
机器人:ID = “@ + ID / kids_layout” 
机器人:layout_width = “match_parent” 
机器人:layout_height = “WRAP_CONTENT” 
 android:orientation =“horizo​​ntal”/>

 <的LinearLayout
机器人:ID = “@ + ID / cars_layout” 
机器人:layout_width = “match_parent” 
机器人:layout_height = “WRAP_CONTENT” 
 android:orientation =“horizo​​ntal”/>
< / LinearLayout>
  




然后填充像这样的项目;




  //检索数据后说出person对象
 if(person.getPets()。size()> 0)&#xA ; for(pet:pets){petLinearLayout.addView(new ImageView(this).setDrawable(getResources()。getDrawable(R.id.pet_drawable));}
 //为儿童和汽车使用类似的代码&#xA ;