В Android ListActivity я добавляю кнопку в качестве нижнего колонтитула в ListView. Как применить форматирование макета к этой кнопке, например центрирование и / или width = fill_parent?
Я пробовал несколько вещей, таких как использование setLayoutParams (), но не заставил его работать - нижний колонтитул всегда исчезает, когда я пытаюсь что-либо сделать.
Вот основной код, с которым я работаю
closeButton = new Button(this);
closeButton.setText(getResources().getString(R.string.title_closeprocess));
closeButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
closeProcess();
}
});
getListView().addFooterView(closeButton);
* обновление
Основываясь на ответе Кристофера, вот нижний колонтитул, который я добавляю в мой список, и код активности, который добавляет его в список:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/closebutton_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toptable"
android:layout_width="fill_parent"
android:stretchColumns="*"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_height="wrap_content">
<TableRow>
<Button android:id="@+id/closebutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Skip Question"
android:gravity="center"
android:paddingTop="16dip">
</Button>
</TableRow>
</TableLayout>
</RelativeLayout>
ListView listView = getListView();
closeButtonView = getLayoutInflater().inflate(R.layout.closebutton_layout, listView, false);
closeButton = (Button)closeButtonView.findViewById(R.id.closebutton);
closeButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
closeQuestion();
}
});
listView.addFooterView(closeButtonView);