2016-03-31 23 views
0

Programlı olarak doğrusal bir programa resim ekliyorum. Bu doğrusal hizalama, bir yatay görüntüleme görünümü ve bir liste görünümü için bir öğe düzeninin parçasıyla çevrelenmiştir. Diğer görünüm öğelerle satır içi resimleri var, onlar doğru birbirinden yanında aralıklı gibidir: Diğer görünüm öğeleri altında horizontalscrollview/LinearLayout taşırsanız Ancak enter image description hereandroid - doğrusal mizanpaj değişikliklerine eklenen öğelerin aralığı

, ben android bazı garip boşluk yapmak gibi görünüyor olsun otomatik: enter image description here

Şimdiye kadar ben denedim relativelayouts, gömülü linearlayouts, marjları değişen, dolgu değişen match_parent, fill_parent ve wrap_content arasındaki LinearLayout width özelliğini değiştirerek, ama hiçbir şey bu boşluğu değiştirir. Her zaman aynıdır. hataya neden birinin

LinearLayout tmpLL = (LinearLayout) convertView.findViewById(R.id.llUpgrades); 

     //remove previous list contents first 
     tmpLL.removeAllViews(); 

     for(int i = 0; i<= tmpUpgradeList.size()-1; i++){ 

      ImageView tmpIB = new ImageView(getContext()); 
      Upgrade tmpUpgrade = tmpUpgradeList.get(i); 
      Upgrade.setUpgradePic(tmpIB, tmpUpgrade, tmpUpgrade.Title()==null); 
      tmpIB.setTag(position + ":" + i); 
      tmpIB.setPadding(5, 0, 0, 0); 
      tmpIB.setMaxWidth(50); 

      tmpLL.addView(tmpIB); 

      tmpIB.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
         String[] split = ((String) v.getTag()).split(":"); 
        runUpgradePopup(Integer.parseInt(split[0]), Integer.parseInt(split[1])); 
       } 
      }); 

      tmpIB.setOnLongClickListener(new View.OnLongClickListener() { 
       @Override 
       public boolean onLongClick(View v) { 
        String[] split = ((String) v.getTag()).split(":"); 
        clearUpgrade(Integer.parseInt(split[0]), Integer.parseInt(split[1])); 
        return true; 
       } 
      }); 

     } 

Düzen:

İşte alakalı kodudur. diğer düzen doğru yanyana kartları koyar ama farklı olan tüm doğrusal bir düzeni olması ve ilgili göreceli yerleştirme görüşmeleri kaldırıldı: Herhangi bir yardım büyük takdir

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:paddingTop="5dp" 
    android:paddingBottom="5dp"> 


     <Button 
      android:layout_width="100dp" 
      android:layout_height="60dp" 
      android:id="@+id/btnFRemoveShip" 
      android:text="Remove"/> 

     <ImageView 
      android:id="@+id/ivFRowShipIcon" 
      android:layout_height="60dp" 
      android:layout_width="75dp" 
      android:src="@android:drawable/ic_delete" 
      android:layout_marginLeft="10dp" 
      android:layout_toRightOf="@+id/btnFRemoveShip"/> 


     <TextView 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:layout_width="wrap_content" 
      android:id="@+id/tvFRowShipTitle" 
      android:text="error" 
      android:textSize="20dp" 
      android:layout_marginLeft="10dp" 
      android:layout_toRightOf="@+id/ivFRowShipIcon"/> 



     <HorizontalScrollView 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="75dp" 
      android:layout_marginTop="5dp" 
      android:layout_below="@+id/btnFRemoveShip"> 

      <LinearLayout 
       android:orientation="horizontal" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:id="@+id/llUpgrades"> 
      </LinearLayout> 
     </HorizontalScrollView> 


</RelativeLayout> 

!

+0

deneyin wrap_content. –

+0

nerp, kaydırma/kaydırma, doğrusal/dolgu ve kaydırma/sarma, doğrusal/sarma, ancak aynı sonuçları denedi – Bulsatar

cevap

0

Soruyu yanıtlayan birkaç gün sürdü ama sonunda cevabı buldu. Görüntüyü mizanpaja eklemeden önce bu satırı eklemeliydik.

tmpIB.setAdjustViewBounds(true); 

Konu buradadır: kaydırma ve lineer düzeni için found answer