2016-03-29 61 views
0

任何人都可以幫助我解決這個問題。如何以編程方式在線性佈局中的圖像下添加textview?

我想在線性佈局下在我的圖像下添加textview。

使用java類中的代碼。

這裏是我的代碼

for (int ir = 0; ir < jsonarrayProductsRecent.length(); ir++) { 
    HashMap<String, String> map = new HashMap<String, String>(); 
    JSONObject pr = jsonarrayProductsRecent.getJSONObject(ir); 

    ImageView thumbView = new ImageView(getActivity()); 
    Display display = getActivity().getWindowManager().getDefaultDisplay(); 
    int width = ((display.getWidth()*50)/100); // ((display.getWidth()*20)/100) 
    int height = display.getHeight();// ((display.getHeight()*30)/100) 
    LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,LinearLayout.LayoutParams.WRAP_CONTENT); 
    //LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height); 
    thumbView.setLayoutParams(parms); 
    thumbView.setAdjustViewBounds(true); 
    thumbView.setPadding(0, 0, 10, 0); 
    Glide.with(getActivity()) 
      .load(pr.getString("products_image")).diskCacheStrategy(DiskCacheStrategy.ALL) 
      .into(thumbView); 
    TextView tv= new TextView(getActivity()); 
    tv.setText("XYZ"); 
    layout.addView(thumbView); 
    layout.addView(tv); 

} 

下面的代碼是我的XML佈局

<HorizontalScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scrollbars="horizontal" 
    android:id="@+id/horizontalScrollView" 
    android:fillViewport="false"> 

    <LinearLayout 
     android:id="@+id/linear" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"/> 


</HorizontalScrollView> 
+0

我想在圖像下方添加文字。 – Joehamir

回答

0

嘗試這個

for (int ir = 0; ir < jsonarrayProductsRecent.length(); ir++) { 
HashMap<String, String> map = new HashMap<String, String>(); 
JSONObject pr = jsonarrayProductsRecent.getJSONObject(ir); 

ImageView thumbView = new ImageView(getActivity()); 
Display display = getActivity().getWindowManager().getDefaultDisplay(); 
int width = ((display.getWidth()*50)/100); // ((display.getWidth()*20)/100) 
int height = display.getHeight();// ((display.getHeight()*30)/100) 
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,LinearLayout.LayoutParams.WRAP_CONTENT); 
thumbView.setLayoutParams(parms); 
thumbView.setAdjustViewBounds(true); 
thumbView.setPadding(0, 0, 10, 0); 
Glide.with(getActivity()) 
     .load(pr.getString("products_image")).diskCacheStrategy(DiskCacheStrategy.ALL) 
     .into(thumbView); 
llImage.addView(thumbView);  
TextView tv= new TextView(getActivity()); 
tv.setText("XYZ"); 
LinearLayout.LayoutParams captionViewlayoutParams = new LinearLayout.LayoutParams(
        width, height); 
tv.setLayoutParams(captionViewlayoutParams); 
llCaption.addView(tv); 
} 

and change Your xml to this 

<HorizontalScrollView 
      android:id="@+id/hsDesign" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 
     <LinearLayout 
       android:id="@+id/llImageCaption" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" > 

       <LinearLayout 
        android:id="@+id/llImage" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal" > 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/llCaption" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:gravity="center" 
        android:orientation="horizontal" > 
       </LinearLayout> 
      </LinearLayout> 
       </HorizontalScrollView> 
+0

我想要下面的圖像文字。 – Joehamir

+0

此代碼適用於圖像下方的文本,因爲首先添加'thumbView'而不是'tv'之後 –

+0

抱歉我的代碼錯誤。請參閱編輯。我的代碼在循環內部。 – Joehamir

0

以下行添加到您的代碼:

layout.setOrientation(LinearLayout.VERTICAL); 
相關問題