ViewSwitcherの任意のページに飛ぶ
ViewSwitcherは2つのビューを切り替えることができますが、
切り替えるメソッドがshowPrevious()かshowNext()しかないため、
「進む」「戻る」しができず、
ページを指定して切り替えることができません。
そこで、getDisplayedChild()を呼び出すと、現在表示されているページが0か、1かを取得できるので、
その値に応じて処理を分岐することで、任意のページを表示することができます。
最初のページに飛ぶサンプル
private void jumpToPage1(){ if (yourViewSwitcher.getDisplayedChild() == 1){ yourViewSwitcher.showPrevious(); } }
アニメーションを付加する際は、求める挙動にあわせて「進む」か「戻る」を設定します。
端末の音量をコードから変更する
端末の音量を設定するには、AudioManagerを介して行います。
各ストリームごとの、音量を設定、現在の音量を取得、最大値を知る等のことができます。
最大値は端末によって違い、7だったり15だったりするので、
独自にシークバーなどを実装するときは、最大値を知っておく必要があります。
ですが、最大値以上(100など)をセットしても、最大値に設定されます。
AudioManagerを取得する
private AudioManager mAudioManager;
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
各ストリームの最大音量を取得する(以下、アラームのストリームの例)
int maxVol = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM);
現在の音量を取得する
int nowVol = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM);
設定を変更する
int value = 3; mAudioManager.setStreamVolume(AudioManager.STREAM_ALARM,value,AudioManager.FLAG_SHOW_UI);
第3引数のフラグ
AudioManager.FLAG_SHOW_UI は、端末上部にシークバーが表示され、ユーザーは操作ができます。
AudioManager.FLAG_PLAY_SOUND は、上記に加えて、現在の音量で「ピッ」と鳴る。
0を指定した場合は、設定変更されるが、なにも表示されません。
NumberPickerの5つ刻みなどに変更する
デフォルトでは1ずつ刻みのNumberPickerを、5つ刻みなどに変更する方法です。
私の場合、どうもうまく行かなくて、以下のような回りくどいやり方にしたら
思ったように実行できました。
ナンバーピッカーを拡張して、カスタムナンバーピッカーを作り、
以下のメソッドを追加しました。
public void setValues(int min ,int max, int step){ setMinValue(min); setMaxValue((max / step)); String string = ""; for (int i = min; i <= max; i += step) { string += i; if (i != max) { string += ","; } } setDisplayedValues(string.split(",")); }
ちょっと変なやり方です(笑)。
文字列に”,”(カンマ)を使う場合はsplitで分割する目印を変えて下さい。
ナンバーピッカーのインスタンスを作り、setValues()を呼びます。
0~55までの5刻みの場合は、
yourNumberPicker.setValues(0,55,5);
とすると、5刻みの表示になります。
値を取得するときは、表示されている値ではなくポジションとして返ってくるので、
またstep分だけ掛ける必要があります。
プライバシーポリシー
プライバシーポリシー
制定 2017年2月7日
最終改定日 2017年2月8日
責任者 Kojitto
連絡先 kentaro198477@gmai.com
Kojittoは、Kojittoの提供するアプリ(以下、当アプリ)上で提供するサービスにおける
プライバシー情報の取り扱いについて、以下の通り
プライバシーポリシーを定めます。
プライバシー情報について
1.プライバシー情報のうち「個人情報」とは、個人情報保護法にいう
「個人情報」を指すものとし、生存する個人に関する情報であって、
当該情報に含まれる氏名、生年月日、住所、電話番号、連絡先その他
の記述により特定の個人を識別できる情報を指します。
2.プライバシー情報のうち「履歴情報および特性情報」とは、
上記に定める「個人情報」以外のものをいい、ご利用頂いたサービスや、
ご購入された商品、ご覧になったページや広告の履歴、
検索されたキーワード、ご利用日時、ご利用の方法、ご利用環境、
郵便番号や性別、職業、年齢、ユーザーのIPアドレス、クッキー情報、
位置情報、端末の固体識別情報などを指します。
当アプリに掲載される広告について
当アプリでは、第三者配信の広告サービスを利用しています。
このような広告配信事業者は、ユーザーの興味に応じた商品やサービス
の広告を表示するため、ユーザーの特性(性別、生年月日、位置情報、過去に閲覧したページや購入した商品など)
に関する情報を利用することがあります。
当アプリで取得される個人情報と利用目的について
1.上記の広告配信に際し、「履歴情報および特性情報」にあたるユーザーの特性に関する情報に限り、適正な方法で取得し、広告配信事業者に提供することがあります。
利点としては、女性のユーザーに対して男性を対象にしたサービスのように、関連性の低い広告が頻繁に表示されるのを防ぎます。
Kojittoとしては、これがプライバシー情報の利用目的の全てであり、
提携する広告事業者以外の第三者に情報を開示することはありません。
2.ユーザーの操作に応じて、端末・SDカード内のデータを参照することがあります。
これらは、当アプリ内の「閉じた環境」において、外観や通知音などをカスタマイズする目的でのみ利用されます。
インストール時にカメラ機能の権限を要求するアプリについて
当アプリの一部には、演出や、ユーザーへの通知の手段として、カメラのフラッシュ機能を利用するアプリがあります。
フラッシュの利用にあたって端末のカメラ機能へのアクセスが必要となります。
カメラ機能の権限は上記目的でのみ利用され、撮影データの取得、保存等は一切行われません。
プライバシーポリシーの変更が生じた場合は、当ページで通知いたします。
Shapeでアクアボタン風リソース
Shapeで作ってみた
前回記事と同様に、こんどは横長のアクアボタン風リソースを作ってみました。
ちょっと違うけど、なんとなくそれっぽいのではないかと思います。
緑のボタンはテキストシャドウを設定しています。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <layer-list> <item> <shape android:shape="rectangle" > <corners android:radius="100dp" /> <gradient android:endColor="#15000000" android:startColor="#23000000" android:angle="90"/> <padding android:top="3dp" android:bottom="3dp" android:left="3dp" android:right="3dp"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="100dp" /> <solid android:color="#00bfff"/> </shape> </item> <item> <shape android:shape="rectangle" > <corners android:radius="100dp" /> <gradient android:startColor="#b7000000" android:endColor="#00ffffff" android:angle="270" /> </shape> </item> <item android:top="3dp" android:left="3dp" android:right="3dp" android:bottom="3dp"> <shape android:shape="rectangle" > <corners android:radius="100dp"/> <gradient android:centerY="0.7" android:startColor="#b0ffffff" android:centerColor="#3b8b8b8b" android:endColor="#d0ffffff" android:angle="90" /> </shape> </item> </layer-list> </item> </selector>
今回も、レイヤーリストでいくつかの画像を重ねています。
Buttonのバックグラウンドとして使うと、
一部が伸びてしまったりしてバランスが変になります。
(ImageViewだと綺麗に表示されるが、テキストも表示したい)
また、Shapeはボカした感じの表現が難しいので、
ふちがくっきりしすぎています。
少しでも雰囲気をプラスするために、
グリーンのボタンには
テキストにシャドウを施してみました。
AQUAなボタン、なんか押したくなりますよね♪
Shapeでアクアなボタンを作ってみた
以下のようなリソースを作ってみました。
レイヤーリストに、左から①②③④のアイテムを順次描画しています。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <layer-list> <!--①--> <item > <shape android:shape="oval" > <size android:height="100dp" android:width="100dp"/> <solid android:color="#0000ff"/> </shape> </item> <!--②--> <item> <shape android:shape="oval" > <gradient android:centerColor="#a8000000" android:centerX="0.5" android:centerY="0.7" android:gradientRadius="100dp" android:type="radial" /> </shape> </item> <!--③--> <item> <shape android:shape="oval" > <gradient android:startColor="#7affffff" android:centerX="0.5" android:centerY="0.9" android:gradientRadius="100dp" android:type="radial" /> </shape> </item> <!--④--> <item android:top="4dp" android:left="16dp" android:right="16dp" android:bottom="48dp" > <shape android:shape="oval" > <gradient android:startColor="#00ffffff" android:endColor="#ffffff" android:angle="90"/> </shape> </item> </layer-list> </item> </selector> <|| 汎用性を考え、色味の部分は①だけです。 ②や③で上手く色を混ぜられたら、より深みのある表現になりそうです。 縁取りをぼかせていないので、アクアというより、ガラス玉のような質感になってしまいました。
電卓アプリ【お買い物電卓】リリースしました!
お買い物電卓【割引・割り勘・消費税を簡単計算!】 - Google Play の Android アプリ
お買い物電卓~☆
・・・いいタイトルが思いつかなかった(笑)
「何が出来るか」がわかることと、文字が全て表示されることが大事ということでコレにしました。
式と答えが見える電卓!
式を入力していくと、答えが随時更新されて表示されます。
ちゃんと四則演算に対応。
%は先に計算。
カッコ()には未対応。普段の買い物ではカッコはたぶん使わないからね(笑)
ターゲティングをしっかりしてみる!
割引計算
極力シンプルに。ツマミを動かしてチェックマークを押したら式に適用されます。
背景のグラデーションが引き締まるように、このようなビューは黒くしました。
ちょっと簡素すぎるかな。。。
割り勘計算
右のナンバーピッカーをコロコロすると一人当たりの金額と端数が計算されます。
現時点で、最小単位は10(円)です。
外国の通貨とかよくわからないから最小単位を固定してますが、
割り勘のときは100円単位が多いから、実装を検討中。
計算履歴
値段の比較をしたりするので、やはり履歴は欠かせない!
シンプルな感じで、画面を切り替えずに閲覧できるようにしました。
あまり使われないかもしれないけど、
式をタップ → 現在の式と置き換える
答えをタップ → 現在のフォーカス位置に挿入
ができるようにしました。
Androidで、あまりしっくりくる電卓に出会ったことがありません。
字体だったり色だったり、タッチ振動も意外と重要。
なので、自分が本当に使いたい電卓を作ってみました。
けっこう他からインスパイアされまくりですけど(笑)
ただ、その「自分が本当に使いたいデザイン」が、漠然と頭にあっても、
作品として落とし込むと、
「なんか違うな~」
という部分が、潰しきれていないです。
私の本業の美容師の現場でもそれはあります。
なので、これからも「お買い物電卓(仮)」のデザインは磨いていきたいと思います!
お読みいただきありがとうございました☆