指をスライドすると数値がくるくる回って、スマホ感を演出できます。
注意点としては、Version11以降しか対応していないことです。
丁度スマホが流行りだしたAndroid2.2、Android2.3の頃の端末に対応していないのは使いづらい点ではありますが。。。。
また、Version11より前でも使えるライブラリ(個人で作った)も公開されていますが、端末によっては動かない等ありますので、あんまりお勧めはません。。。
Androidアプリを作成したい人必見!!Androidアプリの基本動作はもちろんのこと、本には載っていない、調べても見つからない、ソースを修正するだけでは解決できない、アプリ開発者が直面する問題の解決方法についても記載していきます。 *基本的にはレイアウトファイル(xml)を使わないソースを載せております。
package com.pulepule.linear;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.util.Log;
import android.view.Gravity;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.NumberPicker;
import android.widget.Toast;
import android.widget.NumberPicker.OnValueChangeListener;
public class MainActivity extends Activity implements OnValueChangeListener{
//レイアウト用の定数
final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//基レイアウトの作成
LinearLayout oLayout = new LinearLayout(getApplicationContext());
//基レイアウトを画面に設定
setContentView(oLayout);
//背景を黒にする(見やすいように)
oLayout.setBackgroundColor(Color.BLACK);
//真ん中にパーツを寄せる。 | 区切りで複数記述できます。
oLayout.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL );
//データピッカーの生成
NumberPicker oPicker = new NumberPicker(getApplicationContext());
//データピッカーの最小値を設定
oPicker.setMinValue(3);
//データピッカーの最大値を設定
oPicker.setMaxValue(1120);
//データーピッカーの背景色を
oPicker.setBackgroundColor(Color.BLUE);
//値が変更された時に通知するリスナー
oPicker.setOnValueChangedListener(this);
oLayout.addView(oPicker, new LinearLayout.LayoutParams(WC, WC));
//値をピッカーに設定
oPicker.setValue(5);
}
@Override
public void onValueChange(NumberPicker picker, int iBefValue, int iActValue) {
Toast.makeText(getApplicationContext(), String.valueOf(iActValue), Toast.LENGTH_SHORT).show();
Log.d("ひとつ前の選択",String.valueOf( iBefValue ));
Log.d("picker.getValue()",String.valueOf( picker.getValue()));
}
}
■実行結果
0 件のコメント:
コメントを投稿