我正在尝试为列表视图组织自定义单元格。 listvew有一个BaseAdapter来添加数据(这里没问题)
我的问题是当布局到来时......这是一个示例
<?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>
我不能让布局“中心”在另外两个之间有一个修复/ propotionel大小。
例如:当标题太长时,布局权利会从屏幕上消失,与类别相同。当有太多的狂热时,权利就会消失。
我已经尝试过使用ToRight和ToLeft的相对布局,但问题是中心需要左侧布局的ToRight和ToLeft关闭正确的布局而不是居中...如果你知道我的意思:(
答案 0 :(得分: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>