2

私は次の見解を持っています: ここに画像の説明を入力

ImageButton をクリックすると、それぞれの画像が全画面表示モードで表示されます。たとえば、 Black をクリックすると、次のような画像ビューが表示されます。ここに画像の説明を入力

また、次のようなイメージ ボタンの背景をフルスクリーン カラーに設定しました。ピンクをクリックすると、無地のピンク色が表示されます。

ここに画像の説明を入力

ここまでは問題ありません。最初に黒のボタンをクリックし、次にピンクをクリックすると、黒の画像がピンクの背景のレイアウトに引き継がれます。次のようになります。

ここに画像の説明を入力

これは私の問題です。前景の画像ではなく、ピンクのみが必要です。

これは私のXMLファイルです:

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#657383" >

<ImageView android:id="@+id/imv"
        android:contentDescription="@string/app_name"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:visibility="gone"
        />

<Button android:id="@+id/home"
    android:contentDescription="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginTop="10dp"
    android:text="@string/Back_Button"
    android:textSize="25sp"
    />


    <RelativeLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content">


    <ImageButton android:id="@+id/image1"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:background="#000000"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"/>

    <ImageButton android:id="@+id/image2"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:layout_toRightOf="@+id/image1"
        android:background="#ff0000"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"/>

    <ImageButton android:id="@+id/image3"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:layout_below="@+id/image1"
        android:background="#00ff00"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"
        />

    <ImageButton android:id="@+id/image4"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:background="#0000ff"
        android:layout_below="@+id/image2"
        android:layout_toRightOf="@+id/image3"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"
        />

    <ImageButton android:id="@+id/image5"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:background="#FFFF00"
        android:layout_below="@+id/image3"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"
        />

    <ImageButton android:id="@+id/image6"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:layout_below="@+id/image4"
        android:layout_toRightOf="@+id/image5"
        android:background="#FFA500"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"/>

    <ImageButton android:id="@+id/image7"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:layout_below="@+id/image5"
        android:background="#FFFFFF"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"/>

    <ImageButton android:id="@+id/image8"
        android:contentDescription="@string/hello_world"
        android:layout_width="130dp"
        android:layout_height="95dp"
        android:layout_below="@+id/image6"
        android:background="#F52887"
        android:layout_toRightOf="@+id/image7"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"/>



</RelativeLayout>

私の.Javaデータは次のとおりです。

      private OnClickListener myListener = new OnClickListener() {

    @SuppressLint("NewApi")
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub


        try {

            handler.postDelayed(new Runnable() {

                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    iv.setVisibility(View.GONE);
                }
            }, 2500);



            if (v.getId() == R.id.image1) {
                iv.setBackground(null);
                iv.setVisibility(View.VISIBLE);
                iv.setImageResource(R.drawable.ic_launcher);

            } else if(v.getId() == R.id.image2){
                iv.setBackground(null);

                iv.setVisibility(View.VISIBLE);
                iv.setImageResource(R.drawable.kids_paint_hands);
            }else if(v.getId() == R.id.image3){

                iv.setBackground(null);

                iv.setVisibility(View.VISIBLE);
                iv.setImageResource(R.drawable.play_logo);
            }else if(v.getId() == R.id.image4){

                iv.setBackground(null);
                iv.setVisibility(View.VISIBLE);
                iv.setBackgroundColor(Color.BLUE);
            }else if(v.getId() == R.id.image5){

                iv.setBackground(null);

                iv.setVisibility(View.VISIBLE);
                iv.setBackgroundColor(Color.CYAN);
            }else if(v.getId() == R.id.image6){

                iv.setBackground(null);

                iv.setVisibility(View.VISIBLE);
                iv.setBackgroundColor(Color.MAGENTA);
            }else if(v.getId() == R.id.image7){

                iv.setBackground(null);

                iv.setVisibility(View.VISIBLE);
                iv.setBackgroundColor(Color.WHITE);
            }else if(v.getId() == R.id.image8){

                iv.setBackground(null);

                iv.setVisibility(View.VISIBLE);
                iv.setBackgroundColor(Color.DKGRAY);
                iv.clearFocus();
            }






        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

ヘルプや提案はありますか?

4

2 に答える 2

1

背景色をピンクまたは他の無地の色に変更したときにImageResource属性をリセットしていないため、以前の画像も新しい背景で表示されるため、画像は背景の変更とともに表示されます。

これを解決するには、ImageResource を使用する代わりに画像を背景として表示するか、以前に設定した imageResource を削除する必要があります (例: iv.setImageResource(任意の透過フレーム))。

于 2013-03-16T08:39:17.410 に答える
1

これを試して

初め

ImageResource is different from the background Resource.

ImageResource is the foreground image, background resource is the background one.

あなたはこのようにする必要があります

image.setImageResource(android.R.color.transparent);

元の画像の代わりに透明な画像を表示する

于 2013-03-16T08:43:35.650 に答える