私はまだAndroidを学んでいるだけなので(AmazonはHello、Androidの本を手に入れるまで2か月かかると言っているようです)、私はまだ簡単なことをやって遊んでいます。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に関連する記事をすばやく検索し、類似したもの(ここ、ここ、ここ、およびここ)を見つけましたが、これらはコンテンツをRelativeViewに取り込むことを扱っていましたが、ポジショニングの側面を扱っていないようです。
私は何が間違っているのですか?
編集:
私のメイン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>