Поскольку я все еще просто изучаю Android (и кажется, что Amazon говорит, что будет 2 месяца, пока я не получу книгу Hello, Android). Я все еще играю с простыми вещами. У меня нет проблем с получением значка для отображения одним нажатием кнопки на моем RelativeLayout с использованием ImageView. Код для создания его следующим образом:Динамическое добавление контента в RelativeLayout
private int mIconIdCounter = 1;
private ImageView addIcon(){
ImageView item = new ImageView(this);
item.setImageResource(R.drawable.tiles);
item.setAdjustViewBounds(true);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
if(mIconIdCounter != 1){
params.addRule(RelativeLayout.RIGHT_OF, 1);
}
item.setLayoutParams(params);
item.setId(mIconIdCounter);
++m_IconIdCounter;
return item;
}
и код для добавления элемента является:
Button addButton = (Button)findViewById(R.id.add_new);
addButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
addContentView(addIcon(), new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
});
Когда я нажимаю мою кнопку, что происходит это все вновь созданные виды размещены друг над другом , Я бы хотел, чтобы они были помещены справа от следующего элемента. Я сделал быстрый поиск по SO для статей, относящихся к RelativeLayout, и нашел некоторые похожие (here, here, here и here), но в то время как эти адреса позволяли получать контент в RelativeView, они, похоже, не касались аспекта позиционирования.
Что я делаю неправильно?
EDIT:
Мой главный XML выглядит следующим образом:
<?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="fill_parent"
>
<Button
android:id="@+id/add_new"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_new"
android:layout_alignParentBottom="true" />
</RelativeLayout>
так что если мой основной xml - это не что иное, как RelativeLayout и кнопка внутри него, как мне получить к нему доступ? Также как (R.id.main)? Я обновлю свой вопрос, чтобы показать вам. – wheaties 2010-11-24 19:07:50
вам нужно указать свой идентификатор с помощью андроида: id = "+ @ id/my_layout". Затем вы можете указать свой макет в своем коде. чтобы вы могли добавлять к нему представления. надеюсь, что это поможет! – Knossos 2010-11-24 21:00:39