0

Im пытается организовать пользовательскую ячейку для списка. Listvew имеет BaseAdapter добавить ДАННЫЕ (не проблема здесь)Textview singleline push относительная компоновка с экрана

моя проблема, когда макет приходит ... вот пример

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/mng_dir_cell" 
    android:orientation="horizontal" 
    android:padding="4dp" > 

    <!-- IMAGE --> 

    <LinearLayout 
     android:id="@+id/left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <ImageView 
      android:id="@+id/img_icone" 
      android:layout_width="70dp" 
      android:layout_height="70dp" 
      android:layout_gravity="center" 
      android:background="@drawable/shadow_border" 
      android:padding="12dp" 
      android:scaleType="centerCrop" /> 

     <TextView 
      android:id="@+id/annuaire_tarif_etablissement" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:singleLine="true" 
      android:textColor="@android:color/darker_gray" 
      android:textSize="12sp" 
      android:textStyle="normal" /> 
    </LinearLayout> 

    <!-- CENTER --> 

    <LinearLayout 
     android:id="@+id/center" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="4dp" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/annuaire_titre_etablissement" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="4dp" 
      android:maxLength="30" 
      android:singleLine="true" 
      android:textColor="@android:color/black" 
      android:textSize="16sp" /> 

     <TextView 
      android:id="@+id/annuaire_categorie_etablissement" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textColor="@android:color/darker_gray" 
      android:textSize="12sp" 
      android:textStyle="normal" /> 

     <ImageView 
      android:id="@+id/annuaire_promo_etablissement" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:layout_marginBottom="5dp" 
      android:paddingLeft="40dp" 
      android:visibility="gone" /> 
    </LinearLayout> 

    <!-- RIGHT --> 

    <RelativeLayout 
     android:id="@+id/right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:layout_margin="2dp" 
     android:gravity="center_vertical" > 

     <TextView 
      android:id="@+id/annuaire_distance_etablissement" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_toLeftOf="@+id/arrow_img" 
      android:singleLine="true" 
      android:textColor="@color/clr_default_complement2" 
      android:textSize="12sp" /> 

     <ImageView 
      android:id="@+id/arrow_img" 
      android:layout_width="10dp" 
      android:layout_height="10dp" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="4dp" 
      android:layout_marginRight="2dp" 
      android:src="@drawable/icone_fleche" /> 
    </RelativeLayout> 

</LinearLayout> 

я не могу получить макет «центр», чтобы размер fix/propotionel между двумя другими.

ex: Когда заголовок слишком длинный, макет правильно уходит с экрана, то же самое касается категорий. когда есть слишком маневры, право уходит.

Я уже пробовал Относительный макет с ToRight и ToLeft, но проблема в том, центр должен быть ToRight левого расположения и ToLeft от правой макете, но не по центру ... если вы знаете, что я имею в виду :(

ответ

1

Вы можете указать статическую ширину левых и правых элементы, или использовать layout_weight, например:

<LinearLayout [...] > 
    <LinearLayout [...] 
      android:layout_width="70dp"> 
    </LinearLayout> 

    <LinearLayout [...] 
      android:layout_width="0dp" 
      android:layout_weight="1"> 
    </LinearLayout> 

    <LinearLayout [...] 
      android:layout_width="10dp"> 
    </LinearLayout> 
</LinearLayout> 
+0

мешающего указать статический размер, приложение должно быть в порядке с большинством ширины экрана и что будет произойдет, если я дать layout_weight к. только один из макетов? не будет ли перекрыт другой? –

+1

Тогда вы можете установить 'layout_width' всех своих просмотров на' «0dp» 'и использовать разные значения для' layout_weight', в зависимости от относительной ширины, которую вы хотите, чтобы они были – etienne

+0

. Это хороший ответ, потому что это работает! –

Смежные вопросы