問題

私はiOSの背景から来ました。何らかの理由で、別のビューにビューを追加する方法を理解できません。

私は次のようにプログラム的に作成している2つのImageViewを持っています:

 ImageView imageView;
ImageView imageHolder;
 

今、私はこのようなことをしたい:

 imageHolder.addView(imageView);
 

どうすればこれを達成できますか?多くのグーグルをしましたが、使用しませんでした。

  ベストアンサー

pskinkが言ったように、 ViewGroup であるものにプログラム的にビューを追加することしかできません。たとえば、LinearLayoutに追加できます。

 LinearLayout layout = (LinearLayout)findViewById(R.id.linear_layout);
layout.addView(new EditText(context));
 

それはおそらくあなたのシナリオを助けません。別のものの上に画像を置くには、相対レイアウトを使用することができます。通常、これをXMLレイアウトファイルに設定します。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/backgroundImage"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ImageView
        android:id="@+id/foregroundImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/backgroundImage"
        android:layout_alignLeft="@id/backgroundImage" />

</RelativeLayout>
 

コード内で画像を指定することができます。

 ((ImageView)findViewById(R.id.backgroundImage)).setImageResource(R.drawable.someBackgroundImage);
 

  同じタグがついた質問を見る

androidimageviewsubviewaddsubview