Android プログラミング【 画像の回転 】 ~タッチイベントでグルグル ~

Android プログラミング【 画像の回転 】 ~タッチイベントでグルグル ~

画面タップで画像を回転させる動画です。
変数・タッチイベント・オンクリック等の基礎知識が必要です。

プロジェクト、カンパニードメイン、パッケージネームを同じにするとコピペエラーが減ります。

Application name TestView
Company Domain test.com
Package name com.test.testview

* 注意 *
・画像をご自身で要するにはファイル名やファイルサイズ、拡張子に注意する必要があります。
・ファイル名は半角小文字の英数(a~z 0~9)とアンダーバー( _ )のみで、最初の1文字目は半角英字( a ~ z)のみです。
・慣れてない方はサンプル画像の使用をオススメします。

Android Studio 入門
player
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.test.testview.MainActivity">

    <ImageView
        android:id="@+id/player"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src="@drawable/player" />

</RelativeLayout>
package com.test.testview;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    int i =0;

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        i+=5;
        ((ImageView)findViewById(R.id.player)).setRotation(i);    // 中心回転
        return super.onTouchEvent(event);
    }

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

}

以下に書き換えると色々な動きをします。

((ImageView)findViewById(R.id.player)).setRotationX(i);    // 横軸回転
((ImageView)findViewById(R.id.player)).setRotationY(i);    // 縦軸回転

Android プログラミング【 AlertDialog 】~ 手抜きギャラリー ~

Android プログラミング【 AlertDialog 】~ 手抜きギャラリー ~

AlertDialog(アラートダイアログ)を使った簡易的なギャラリー作成です。
「できる限りプログラムせずに作成する」を目指した内容です。

プロジェクト、カンパニードメイン、パッケージネームを同じにするとコピペエラーが減ります。

Application name MyGallery
Company Domain test.com
Package name com.test.mygallery

* 注意 *
・画像をご自身で要するにはファイル名やファイルサイズ、拡張子に注意する必要があります。
・ファイル名は半角小文字の英数(a~z 0~9)とアンダーバー( _ )のみで、最初の1文字目は半角英字( a ~ z)のみです。
・慣れてない方はサンプル画像の使用をオススメします。

手抜きギャラリー
手抜きギャラリー
アシカ?
手抜きギャラリー
ワニ
手抜きギャラリー
シマウマ
手抜きギャラリー
カンガルー
手抜きギャラリー
キリン
手抜きギャラリー
手抜きギャラリー
金魚
手抜きギャラリー
手抜きギャラリー
アシカ?
手抜きギャラリー
ワニ
手抜きギャラリー
シマウマ
手抜きギャラリー
カンガルー
手抜きギャラリー
キリン
手抜きギャラリー
手抜きギャラリー
金魚

画像配置

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.test.mygallery.MainActivity">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">


            <ImageView
                android:onClick="img00"
                android:scaleType="centerCrop"
                android:src="@drawable/s00"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <ImageView
                android:onClick="img01"
                android:scaleType="centerCrop"
                android:src="@drawable/s01"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <ImageView
                android:onClick="img02"
                android:scaleType="centerCrop"
                android:src="@drawable/s02"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <ImageView
                android:onClick="img03"
                android:scaleType="centerCrop"
                android:src="@drawable/s03"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <ImageView
                android:onClick="img04"
                android:scaleType="centerCrop"
                android:src="@drawable/s04"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <ImageView
                android:onClick="img05"
                android:scaleType="centerCrop"
                android:src="@drawable/s05"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <ImageView
                android:onClick="img06"
                android:scaleType="centerCrop"
                android:src="@drawable/s06"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <ImageView
                android:onClick="img07"
                android:scaleType="centerCrop"
                android:src="@drawable/s07"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

        </LinearLayout>

    </ScrollView>

</RelativeLayout>

package com.test.mygallery;

import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

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

    public void img00(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img00);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }

    public void img01(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img01);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }

    public void img02(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img02);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }

    public void img03(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img03);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }

    public void img04(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img04);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }

    public void img05(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img05);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }

    public void img06(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img06);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }

    public void img07(View v){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img07);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();
    }
}

Android プログラミング【 AlertDialog 】~ 画像表示 ~

Android プログラミング【 AlertDialog 】~ 画像表示 ~

プロジェクト、カンパニードメイン、パッケージネームを同じにするとコピペエラーが減ります。

Application name MyGallery
Company Domain test.com
Package name com.test.mygallery

AlertDialogで画像表示

* 注意 *
・画像をご自身で要するにはファイル名やファイルサイズ、拡張子に注意する必要があります。
・ファイル名は半角小文字の英数(a~z 0~9)とアンダーバー( _ )のみで、最初の1文字目は半角英字( a ~ z)のみです。
・慣れてない方はサンプル画像の使用をオススメします。

AlertDialog画像表示
img

drawable 画像の配置

MainActivity_java(完成)

package com.test.mygallery;

import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img);
        iv.setAdjustViewBounds(true);
        new AlertDialog.Builder(this)
                .setView(iv)
                .show();

    }
}