2015-11-07 38 views
1

如何在此图像中添加一个TextView和图像。我想在imageView下添加一个TextView。在Android中使用java代码创建Android布局

public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 

    if (convertView == null) { 
     imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(400, 400)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(8, 8, 8, 8); 
     } else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(mThumbIds[position]); 

    return imageView; 
    } 
+1

你为什么不使用同一事物的XML编辑器,并使用吹气以检索了Java的对象? – Blackbelt

+0

只是试图以其他方式去做。探索可能性。 :) – vikky

+0

如果你能帮到你。 – vikky

回答

0

您应该使用XML布局编辑器创建网格的行和使用吹气以检索查看Java的对象。以编程方式,像

LinearLayout parent = new LinearLayout(context); 

parent.setLayoutParams(new GridView.LayoutParams(400, 400)); 
parent.setOrientation(LinearLayout.VERTICAL); 

TextView textView = new TextView(context); 
textView.setId(1) 
ImageView imageView = new ImageView(mContext); 
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
imageView.setPadding(8, 8, 8, 8); 
imageView.setId(0); 

parent.addView(imageView); 
parent.addView(textView); 

应该这样做。

parent是什么your getView将返回。当然,你必须将演员从ImageView更改为LinearLayout。您可以使用findViewById用0和1,分别检索ImageViewTextView,或getChildAt(0)getChildAt(1)

1
 LinearLayout LL = new LinearLayout(this); 
    LL.setOrientation(LinearLayout.VERTICAL); 

    LayoutParams LLParams = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT); 

    LL.setLayoutParams(LLParams); 

      ImageView imageView = new ImageView(mContext); 

      //....your imageview code....... 


      TextView textView = new TextView(mContext); 

      //....your textview code....... 


    LL.addView(imageview); 
    LL.addView(textview);