Android Studio入門

Android プログラミング【 文字加工② 】 ~ カラー変更 ~

Android 開発 【文字カラー 】768
android プログラミングの基礎学習です。
ボタンクリックで文字カラーを変更します。

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 文字加工① 】 ~ サイズ変更 ~
  2. 【 文字加工② 】 ~ カラー変更 ~
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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.text.MainActivity">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="b1"
        android:text="赤"
        android:textSize="30sp" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="b2"
        android:text="青"
        android:textSize="30sp" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="b3"
        android:text="黄"
        android:textSize="30sp" />

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="サンプル"
        android:textSize="30sp" />
</LinearLayout>

package com.test.text;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

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

    // クリック処理
    public void b1(View v){
        // 文字カラー変更
        ((TextView)findViewById(R.id.text)).setTextColor(Color.RED);
    }

    public void b2(View v){
        ((TextView)findViewById(R.id.text)).setTextColor(Color.BLUE);
    }

    public void b3(View v){
        ((TextView)findViewById(R.id.text)).setTextColor(Color.YELLOW);
    }

}

Android Studio入門

Android プログラミング【 文字加工① 】 ~ サイズ変更 ~

Android 開発 【文字サイズ 】768

android プログラミングの基礎学習です。
ボタンクリックで文字サイズを変更します。

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 文字加工① 】 ~ サイズ変更 ~
  2. 【 文字加工② 】 ~ カラー変更 ~

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

Application name Text
Company Domain test.com
Package name com.test.text

Android 【文字加工】新規作成


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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.text.MainActivity">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="b1"
        android:text="24sp"
        android:textSize="30sp" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="b2"
        android:text="48sp"
        android:textSize="30sp" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="b3"
        android:text="96sp"
        android:textSize="30sp" />

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="サンプル"
        android:textSize="30sp" />
</LinearLayout>


package com.test.text;

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

public class MainActivity extends AppCompatActivity {

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

    // クリック処理
    public void b1(View v){
        // 文字サイズ変更
        ((TextView)findViewById(R.id.text)).setTextSize(24);
    }

    public void b2(View v){
        ((TextView) findViewById(R.id.text)).setTextSize(48);
    }

    public void b3(View v){
        ((TextView) findViewById(R.id.text)).setTextSize(92);
    }
}

onClickポイント

【文字サイズ変更】 ポイント

Android Studio入門

Android プログラミング 【 アニメーション ⑤ 】 ~ 複合アニメ ~

Android【アニメーション⑤】複合アニメ 7682

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アニメーション ① 】 ~ 上下移動 ~
  2. 【 アニメーション ② 】 ~ XML詳細 ~
  3. 【 アニメーション ③ 】 ~ 回転アニメ ~
  4. 【 アニメーション ④ 】 ~ 透明化 ~
  5. 【 アニメーション ⑤ 】 ~ 複合アニメ ~

上下移動しながら回転します。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="1000"
        android:fromYDelta="0"
        android:repeatCount="-1"
        android:repeatMode="reverse"
        android:toYDelta="10%" />

    <rotate
        android:duration="1000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="-1"
        android:startOffset="1000"
        android:toDegrees="360" />
</set>

前回の【 アニメーション ① 】 ~上下移動~ に修正を加えます。

package com.test.anim;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.animation.AnimationUtils;

public class MainActivity extends AppCompatActivity {

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

        findViewById(R.id.monster).startAnimation(AnimationUtils.loadAnimation(this, R.anim.a4));

    }

}

Android Studio入門

Android プログラミング 【 アニメーション ④ 】 ~ 透明化 ~

Android【アニメーション④】透明化 768

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アニメーション ① 】 ~ 上下移動 ~
  2. 【 アニメーション ② 】 ~ XML詳細 ~
  3. 【 アニメーション ③ 】 ~ 回転アニメ ~
  4. 【 アニメーション ④ 】 ~ 透明化 ~
  5. 【 アニメーション ⑤ 】 ~ 複合アニメ ~

一度だけ透明化します。(元に戻る)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <alpha
        android:duration="1000"
        android:fromAlpha="1.0"
        android:toAlpha="0" />
</set>

一度だけ透明化しますが、元に戻りません。(透明を維持)


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true">

    <alpha
        android:duration="1000"
        android:fromAlpha="1.0"
        android:toAlpha="0" />
</set>

前回の【 アニメーション ① 】 ~上下移動~ に修正を加えます。

package com.test.anim;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.animation.AnimationUtils;

public class MainActivity extends AppCompatActivity {

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

        findViewById(R.id.monster).startAnimation(AnimationUtils.loadAnimation(this, R.anim.a3));

    }

}

Android Studio入門

Android プログラミング 【 アニメーション ③ 】 ~ 回転アニメ ~

Android【アニメーション③】回転アニメ 768

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アニメーション ① 】 ~ 上下移動 ~
  2. 【 アニメーション ② 】 ~ XML詳細 ~
  3. 【 アニメーション ③ 】 ~ 回転アニメ ~
  4. 【 アニメーション ④ 】 ~ 透明化 ~
  5. 【 アニメーション ⑤ 】 ~ 複合アニメ ~

「時計回りに1回」回転するアニメーションです。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <rotate
        android:startOffset="1000"
        android:duration="1000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="360" />
</set>

「1秒おきに、時計回りを繰り返す」アニメーションです。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <rotate
        android:duration="1000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="-1"
        android:startOffset="1000"
        android:toDegrees="360" />

</set>

前回の【 アニメーション ① 】 ~上下移動~ に修正を加えます。

package com.test.anim;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.animation.AnimationUtils;

public class MainActivity extends AppCompatActivity {

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

        findViewById(R.id.monster).startAnimation(AnimationUtils.loadAnimation(this, R.anim.a2));

    }

}

Android Studio入門

Android プログラミング 【 アニメーション ② 】 ~XML詳細~

Android 【アニメーション②】XML詳細 768

前回の【 アニメーション ① 】 ~上下移動~ の続編です。
アニメーション設定ファイルの解説動画です。

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アニメーション ① 】 ~ 上下移動 ~
  2. 【 アニメーション ② 】 ~ XML詳細 ~
  3. 【 アニメーション ③ 】 ~ 回転アニメ ~
  4. 【 アニメーション ④ 】 ~ 透明化 ~
  5. 【 アニメーション ⑤ 】 ~ 複合アニメ ~

前回の【 アニメーション ① 】 ~上下移動~ 内で出てきた a1.xml の解説です。

Android 開発【アニメ② 移動 】図解

Android Studio入門

Android プログラミング 【 アニメーション ① 】 ~上下移動~

Android【アニメーション①】上下移動  768

XMLでのシンプルなアニメーションです。
「出来る限り簡単、コピペで出来る」を目指した動画です。

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アニメーション ① 】 ~ 上下移動 ~
  2. 【 アニメーション ② 】 ~ XML詳細 ~
  3. 【 アニメーション ③ 】 ~ 回転アニメ ~
  4. 【 アニメーション ④ 】 ~ 透明化 ~
  5. 【 アニメーション ⑤ 】 ~ 複合アニメ ~
RPG画面使用素材 背景
背景画像
Android アニメーション モンスター
モンスター

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

Application name Anim
Company Domain test.com
Package name com.test.anim

Android-【-アニメーション-】新規プロジェクト


<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.test.anim.MainActivity">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@drawable/back" />

    <ImageView
        android:id="@+id/monster"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/monster" />

</RelativeLayout>

アニメーション専用のフォルダとファイルを作成します。
ファイルやフォルダの階層と名前を確認してください。

Android 【 アニメーション ①】ファイル構成

上下移動を繰り返します。


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:duration="1000"
    android:fromYDelta="0"
    android:toYDelta="10%"
    android:repeatMode="reverse"
    android:repeatCount="-1"
    />
</set>

アニメーションさせたいタイミングに以下を記載します。

findViewById(R.id.monster).startAnimation(AnimationUtils.loadAnimation(this, R.anim.a1));

アプリケーション起動時にアニメーションをスタートしています。

package com.test.anim;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.animation.AnimationUtils;

public class MainActivity extends AppCompatActivity {

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

        findViewById(R.id.monster).startAnimation(AnimationUtils.loadAnimation(this, R.anim.a1));

    }

}

Android 【 アニメーション ①】Java図解

Android Studio入門

Android プログラミング【 アクティビティ⑤ 】 ~ 画面を閉じる ~

Android 【アクティビティ5 】 画面を閉じる 768

画面を閉じる(アクティビティの終了)を学習します。
画面を閉じるは、最短1行の入力で可能です。

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アクティビティ① 】 ~ アクティビティとは ~
  2. 【 アクティビティ② 】 ~ 画面の作成 ~
  3. 【 アクティビティ③ 】 ~ 画面の編集 ~
  4. 【 アクティビティ④ 】 ~ 画面の切替 ~
  5. 【 アクティビティ⑤ 】 ~ 画面を閉じる ~

アクティビティの終了【ポイント】

「閉じるボタン」を追加します。
編集するXMLのファイル名にご注意ください。

Android 【アクティビティ5 】 XML編集


<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#88ffff"
    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.activity.Gallery">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ギャラリー"
        android:textSize="30sp" />

    <Button
        android:onClick="onClose"
        android:layout_centerInParent="true"
        android:textSize="30sp"
        android:text="閉じる"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    
</RelativeLayout>


プログラム(動的な命令)を追加します。
編集するJavaのファイル名にご注意ください。

Android 【アクティビティ5 】 Java編集


package com.test.activity;

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

public class Gallery extends AppCompatActivity {

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

    // クリック処理
    public void onClose( View v){
        finish();       // 画面を閉じる(アクティビティの終了)
    }
}
Android Studio入門

Android プログラミング【 アクティビティ④ 】 ~ 画面の切替 ~

Android 【アクティビティ4 】 画面の切替 768

アプリ開発に必須のアクティビティを学習します。
今回は、前回作成した画面を表示する方法を学習します。

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アクティビティ① 】 ~ アクティビティとは ~
  2. 【 アクティビティ② 】 ~ 画面の作成 ~
  3. 【 アクティビティ③ 】 ~ 画面の編集 ~
  4. 【 アクティビティ④ 】 ~ 画面の切替 ~
  5. 【 アクティビティ⑤ 】 ~ 画面を閉じる ~

package com.test.activity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

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

    // クリック処理
    public void onButton1( View v){
        Intent intent = new Intent(this,Setting.class); // 画面指定
        startActivity(intent);                          //  画面を開く
    }

    // クリック処理
    public void onButton2( View v){
        Intent intent = new Intent(this,Gallery.class); // 画面指定
        startActivity(intent);                          //  画面を開く
    }
}

Android 【 画面の切替 】 ポイント

Android Studio入門

Android プログラミング【 アクティビティ③ 】 ~ 画面の編集 ~

Android 【アクティビティ3 】 画面の編集 768

前回作成した画面を編集します。
編集するファイルを、間違わなかったら問題ないと思います。

この動画はシリーズ物です。以下の順にご覧ください。

  1. 【 アクティビティ① 】 ~ アクティビティとは ~
  2. 【 アクティビティ② 】 ~ 画面の作成 ~
  3. 【 アクティビティ③ 】 ~ 画面の編集 ~
  4. 【 アクティビティ④ 】 ~ 画面の切替 ~
  5. 【 アクティビティ⑤ 】 ~ 画面を閉じる ~

メインのタイトル画面です。
タイトルと画面切り替えのためのボタンが2つあります。

タイトル画面


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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.activity.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="タイトル画面"
        android:textSize="30sp" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="onButton1"
        android:text="設定画面"
        android:textSize="30sp" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="onButton2"
        android:text="ギャラリー"
        android:textSize="30sp" />
</LinearLayout>

設定画面です。
「設定」は名ばかりで、タイトルと背景色のみ編集します。

設定画面


<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffaaff"
    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.activity.Setting">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="設定画面"
        android:textSize="30sp" />
</RelativeLayout>

ギャラリー画面です。
ギャラリー画面も、タイトルと背景色のみ編集します。

ギャラリー画面

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#88ffff"
    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.activity.Gallery">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ギャラリー"
        android:textSize="30sp" />

</RelativeLayout>