グラデーション、陰影効果のクラス

グラデーションや陰影効果をつける場合
RadialGradientクラス以外として
android.graphicsパッケージの
Shaderクラスのサブクラスも使える
BitmapShader
ビットマップに対して陰影をつける
ComposeShader
2つのShaderを合成して効果をつける
LinearGradient
線上のグラデーションをつける
SweepShader
中心と半径から
円状のグラデーションをつける
グラデーションなしで色を設定するには
Paintの
setColor()
で色を指定する
色はColorクラスの定数(REDなど)

カラーコード(#ffffなど)
を指定すれば反映される

グラデーションのモード

Androidの基本図形のクラス
OvalShape
円形を描画する
RectShape
四角形を描画する
RoundRectShape
角の丸い四角形を描画
PathShape
連続する複数の点を結んで多角形を描画
ArcShape
円弧を描画 Androidの基本図形のクラス
OvalShape
円形を描画する
RectShape
四角形を描画する
RoundRectShape
角の丸い四角形を描画
PathShape
連続する複数の点を結んで多角形を描画
ArcShape
円弧を描画

Androidのグラフィック描画方法

Androidのグラフィック描画方法
Drawableクラスを利用
抽象クラスのDrawableクラスのサブクラスを使用して
図形の描画、画像データの表示をする
Canvasクラスを利用
Canvasクラスを使い
直接ペンや筆で画面に絵を描くように描画処理をする
アニメーションXMLの利用
画像の回転、拡大縮小、移動など
画像を動作させる処理をする
Open GL ESライブラリを利用
OpenGLESライブラリを使い
2D,3Dを高速に描画
描画の自由度が高く、ゲームアプリなと
描画が多く必要なアプリで使用される
Androidのグラフィック描画方法
Drawableクラスを利用
抽象クラスのDrawableクラスのサブクラスを使用して
図形の描画、画像データの表示をする
Canvasクラスを利用
Canvasクラスを使い
直接ペンや筆で画面に絵を描くように描画処理をする
アニメーションXMLの利用
画像の回転、拡大縮小、移動など
画像を動作させる処理をする
Open GL ESライブラリを利用
OpenGLESライブラリを使い
2D,3Dを高速に描画
描画の自由度が高く、ゲームアプリなと
描画が多く必要なアプリで使用される

画像の表示向きの固定

画像の表示向きの固定
アプリの表示向きを、固定するには
AndroidManifest.xml

activityタグへ
android:screenOrientation属性を設定する
もし、縦長レイアウト固定にするなら
portrait
を指定する
ソースにすると
android:screenOrientation=”portrait”
android:screenOrientation属性の設定値には
unspecified
デフォルト設定
ユーザー操作で変わる
landscape
常に横長
portrait
常に縦長
user
ユーザーの現在の設定に従う
behind
親アクティビティの画面レイアウトに従い表示
sensor
傾きセンサーに従い表示
ユーザー操作でも変わる
nosensor
傾きセンサーを、無視
ユーザー操作も無効化
画像の表示向きの固定
アプリの表示向きを、固定するには
AndroidManifest.xml

activityタグへ
android:screenOrientation属性を設定する
もし、縦長レイアウト固定にするなら
portrait
を指定する
ソースにすると
android:screenOrientation=”portrait”
android:screenOrientation属性の設定値には
unspecified
デフォルト設定
ユーザー操作で変わる
landscape
常に横長
portrait
常に縦長
user
ユーザーの現在の設定に従う
behind
親アクティビティの画面レイアウトに従い表示
sensor
傾きセンサーに従い表示
ユーザー操作でも変わる
nosensor
傾きセンサーを、無視
ユーザー操作も無効化

イベントリスナーの登録

イベントリスナー登録
SensorManagerの
getSensorListener()
てセンサーオブジェクトをリスト形式で取得
getSensorListener()の引数に
センサーの種類を表す
Sensorクラスの定数を設定する
もし、加速度センサーなら
TYPE_ACCCELEROMETER
これをソースにすると
List accelometerSensor =
sensorManager.getSensorList(Sensor.TYPE_ACCCELEROMETER);
また、SensorManagerの
registerListener()
に取得したセンサーのイベントリスナー
取得したセンサーオブジェクト
反応速度
を設定
反応速度には
SENSOR_DELAY_GAME
などの定数をつかう
イベントリスナー登録
SensorManagerの
getSensorListener()
てセンサーオブジェクトをリスト形式で取得
getSensorListener()の引数に
センサーの種類を表す
Sensorクラスの定数を設定する
もし、加速度センサーなら
TYPE_ACCCELEROMETER
これをソースにすると
List accelometerSensor =
sensorManager.getSensorList(Sensor.TYPE_ACCCELEROMETER);
また、SensorManagerの
registerListener()
に取得したセンサーのイベントリスナー
取得したセンサーオブジェクト
反応速度
を設定
反応速度には
SENSOR_DELAY_GAME
などの定数をつかう

SensorManager取得

センサー処理の流れ
センサー処理の流れは
センサーを管理するSensorManagerを取得
SensorManagerに
利用したいセンサーと
イベントリスナーを登録
センサーの精度や値が変化したら
呼び出されるコールバックメソッドで
センサー情報を、取得
まずはSensorManagerの取得から
センサー利用には
SensorManagerのインスタンスを
getSystemService()
で取得
引数には
android.contentパッケージの
Contentクラスの定数の
SENSOR_SERVICE
を指定
ソースにすると
//SensorManagerインスタンス
private SensorManager sensorManager ;
//SensorManagerのインスタンス取得
sensorManager = (SensorManager)this.getSystemService(SENSOR_SERVICE);

SensorEventListenerについて

SensorEventListenerについて
SensorEventListenerは
センサー関連のイベントを取得するための
イベントリスナー
SetManagerのメソッドで
このイベントリスナーの登録、解除をすると
センサーからの情報を取得できる
主なメソッドは
onAccuracyChanged()
センサーの精度が変わったときに呼び出される 
onSensorChanged()
センサーの値が変わったときに呼び出される

SensorEventについて

SensorEventについて
SensorEventは
センサーが取得できる情報を1つにして
まとめて管理するクラス
 
この
クラスで管理できる項目は
すべてパブリックフィールドで宣言されている
主なフィールドは
int accuracy
センサーの精度を格納
Sensor sensor
Sensorオブジェクトを保持する
long timestamp
ナノ秒のタイムスタンプを格納
float[] values
センサーの値を格納

AndroidのSensorクラス

Sensor について
Sensorは
各種センに関する情報、
センサーの種類
バージョン
生物
開発ベンダー名
などを管理するクラス
主なメソッドは
getMaximumRange()
センサーが検出できる最大値を取得
getName()
センサーの名前を取得
getPower()
センサーからの電気信号をmAで取得
getResolution()
センサーの精度を取得
getType()
センサーの取得を取得
getVendor()
センサーのベンダー名を取得
getVersion()
センサーのバージョン取得
センサーも種類を示す定数がある
TYPE_ACCCELEROMETER
加速度センサー
設定値は1
TYPE_MAGNETIC_FIELD
磁気センサー
設定値は2
TYPE_ORGANIZATION
傾きセンサー
設定値は3
TYPE_GYROSCOPE
ジャイロスコープセンサー
設定値は4
TYPE_LIGHT
照度センサー
設定値は5
TYPE_PRESSURE
圧力センサー
設定値は6
TYPE_TEMPERATURE
温度センサー
設定値は7
TYPE_PROXIMITY
近接センサー
設定値は8
TYPE_GRAVITY
重力センサー
設定値は9
TYPE_LINEAR_ACCELERATION
直線加速度センサー
設定値は10
TYPE_ROTATION_VECTOR
回転角度センサー
設定値は11
TYPE_ALL
センサーのすべての値が取得できる
設定値は-1
TYPE_ALL
を指定すると
その機種がもっているすべてのセンサーの
検知する情報を、取得できる