Android
 Computer >> コンピューター >  >> プログラミング >> Android

AndroidでImageViewの画像をクリアする方法【サンプルコード付きで解説】

この記事では、AndroidアプリでImageViewに表示した画像をクリア(削除)する方法を、実際のサンプルコードとともに解説します。ボタンをタップするとImageViewの背景画像が消える、シンプルなサンプルアプリを一緒に作成していきましょう。

手順1:Android Studioで新規プロジェクトを作成する

まずAndroid Studioを起動し、メニューから「File」→「New Project」を選択します。プロジェクト名やパッケージ名、保存先など必要な項目を入力して、新しいプロジェクトを作成してください。

手順2:レイアウトファイル(activity_main.xml)を編集する

res/layout/activity_main.xml に以下のコードを追加します。ボタンとImageViewを1つずつ配置した、シンプルな相対レイアウトです。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="40dp"
        android:onClick="ClickHere"
        android:text="Click here" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button"
        android:layout_centerInParent="true"
        android:background="@drawable/wallpaper" />

</RelativeLayout>

手順3:MainActivity.javaを編集する

src/MainActivity.java に以下のコードを記述します。ボタンがクリックされたタイミングで setBackgroundDrawable(null) を呼び出し、ImageViewの背景をクリアしています。

package app.com.sample;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView = findViewById(R.id.imageView);
    }

    public void ClickHere(View view) {
        imageView.setBackgroundDrawable(null);
    }
}

手順4:AndroidManifest.xmlを確認する

androidManifest.xml は以下のようになります。特別なパーミッションは不要で、標準的なマニフェストファイルです。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

アプリを実行して動作を確認する

それでは、アプリを実際に実行してみましょう。ここでは、実機のAndroidスマートフォンをパソコンに接続しているものとして説明します。Android Studioからアプリを実行するには、プロジェクト内のアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックしてください。実行デバイスとして接続した端末を選択すると、スマートフォンにアプリの初期画面が表示されます。

AndroidでImageViewの画像をクリアする方法【サンプルコード付きで解説】

画面に表示された「Click here」ボタンをタップすると、ImageViewに設定されていた背景画像がクリアされ、画像が非表示になります。

補足:非推奨APIを使わない書き方

サンプルで使用している setBackgroundDrawable(null) は、APIレベル16以降で非推奨(Deprecated)となっています。新しいプロジェクトでは、代わりに imageView.setBackground(null) を使用することを推奨します。また、src属性で設定した画像をクリアしたい場合は、imageView.setImageDrawable(null)imageView.setImageResource(0) を利用するとよいでしょう。用途に応じて適切なメソッドを選択してください。

  1. Androidのキャッシュをクリアする方法|手動・アプリを使った簡単な削除手順を徹底解説

    記事のポイント:スマートフォンに溜まった不要なデータは、ストレージ容量を圧迫します。本記事では、Androidのキャッシュを「Smart Phone Cleaner」を使って素早く簡単に削除する方法と、手動でクリアする方法を詳しくご紹介します。 スマートフォンは長く使うほど不要なデータが蓄積され、端末のパフォーマンスが徐々に低下していきます。Androidの動作が重くなったと感じたら、まずは不要なファイルの整理から始めましょう。ジャンクファイルや一時ファイルだけでなく、キャッシュも併せて削除することが大切です。キャッシュは大量のストレージを占有する原因になるため、正しい削除方法を知っておきま

  2. Androidのキャッシュをクリアする方法!手動・アプリ両方の手順を徹底解説

    人間が日を追うごとに若返る姿を見たことがありますか?ないはずです。実はガジェットも同じことが言えます。使えば使うほどスムーズに動作し続けるデバイスは、ほとんど存在しないのです。 では、なぜこのようなことが起こるのでしょうか。パソコンの動作が遅くなるのは、データや不要なジャンクファイルが蓄積していくからです。同様に、Android端末もキャッシュが溜まることで動作が不安定になり、挙動がおかしくなることがあります。 Android端末における「キャッシュ」とは? キャッシュデータとは、より高速なアクセスを実現するために、端末のメモリ上に保存された元データのコピーのことです。簡単に言えば、アプリやシ