Сделайте представление полной ширины с помощью ListAdapter

Я пытаюсь создать представление в ListView (через ListAdapter) с полной шириной. Вот текущий тестовый код:

LinearLayout result = new LinearLayout(context);

TextView testView = new TextView(context);
testView.setText("Aaah");
TextView test2View = new TextView(context);
test2View.setText("Eeeeh");

result.addView(testView, new LinearLayout.LayoutParams(0,
        LayoutParams.WRAP_CONTENT, 1));
result.addView(test2View, new LinearLayout.LayoutParams(0,
        LayoutParams.WRAP_CONTENT, 1));

// To make it easier to see borders
result.setBackgroundColor(Color.BLUE);

(Его нужно поместить в createView ListAdapter)

К сожалению, два TextViews маленькие и оба застряли слева. Ограничитель на самом деле является самим представлением результатов, не занимающим полную ширину, поэтому два TextView просто делят это небольшое пространство.

Кто-нибудь знает, как сделать их на всю ширину? Спасибо ! :)


РЕДАКТИРОВАТЬ: упрощенная (и почти идентичная) проблема:


Код : http://pastebin.com/6pn1hXnT

Я хочу, чтобы TextView был полноразмерным, и я центрирую текст, чтобы видеть, когда он полноразмерный, а когда только оборачивает содержимое. Этот код показывает текст слева, поэтому MATCH_PARENT ничего не делает...

Что я должен делать ?

Спасибо !


person Gyscos    schedule 12.01.2011    source источник


Ответы (2)


Я столкнулся с похожей проблемой и последовал совету по этому поток. Связанная тема относится к ListView внутри диалогового окна, но я столкнулся с таким же поведением во всплывающем списке. Чтобы сделать TextView полноразмерным, мне пришлось обернуть его внутри RelativeLayout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/
android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="14dip"
    android:paddingRight="15dip"
    >
    <TextView
        android:id="@+id/list_dialog_item"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:minHeight="?android:attr/listPreferredItemHeight"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:gravity="center_vertical"
    />
</RelativeLayout> 
person kgiannakakis    schedule 29.01.2013

Почему бы вам не добавить их с fill_parent, а с «0»?

result.addView(testView, new LinearLayout.LayoutParams(FILL_PARENT ,
        LayoutParams.WRAP_CONTENT, 1));
person Nanne    schedule 12.01.2011
comment
Потому что есть два вида: я хочу, чтобы каждый занимал только половину общей ширины. Я нашел решение, но теперь отличное: result.setLayoutParams(new ListView.LayoutParams(totalWidth, LayoutParams.WRAP_CONTENT); Но для этого требуется знать общую желаемую ширину. По какой-то причине установка LayoutParams.MATCH_PARENT здесь не работает О_о - person Gyscos; 13.01.2011
comment
Да, без изменений :-/ Кроме того, я отредактировал сообщение, чтобы показать еще более простую версию проблемы. - person Gyscos; 13.01.2011