2018-02-28 到達点メモ
その際にColorZillaというやつを入れました。
これは画面の色を取れる便利なアドオンなのですが、
どうもページによっては取れないものがあるようである
具体的に上げると、chromeで最初のページを開いたページとか
まぁ、よく見ればchromeはこの特別なページでは色の取得は許可されてないよ
と英語で警告してくれてはいるんですけどね……
参考サイト
ColorZillaのウェブストア
ソフトも技術も不要!「ColorZilla」を使ってカッコいいサイトから配色をパクる方法
ChromeのColorZillaを使ってWEBページのカラー情報をすばやく取得
あと、昨日からcssをいじって思ったのが最後のセミコロンは
たとえ一行でもつけるを忘れないようにしたい。
話は変わるがclassとidの違いが漸く分かった。
classは他でも使いまわしたい時に使うやつで、
idは一つだけに適応させたい時に使うものだった。
classは役割という意味であることを考えれば
あまりおかしくはない。
あと、今UdemyのJavaの方の講座もやっているのですが
前から微妙に疑問に思っていたcom.XXX.AAAという
パッケージ名だったのですが何でcomから始まるんだろうなと思っていたのですが
どうもユニークな名前にするためにそうしていたそうです。
動画講座をやっていると(当たり外れがあるという前置きが付きますが)
本って買う意味があるのかなという気分になる時がある
間違いがあれば訂正してくれるし、また、わからないことがあれば質問に答えてくれたり
他の人がした質問すら見ることができる。
定期的にアップデートすることは大変そうだが、
利用者からすると本より便利だなという印象を強く受ける。
前にWheelPickerの独立記事書かなかったっけ?と思っていたら
どうやらEvernoteに残していた模様。
サンプルまで作っていたがいつのまにかお蔵入りなっていた模様。
WheelPicker(GitHub)
使い方は、gradleで
compile 'cn.aigestudio.wheelpicker:WheelPicker:1.1.2'
を書けば使えるようになります。
使い方
レイアウトの場合。色合いはともかく基本的な設定は以下の設定がおすすめです。
<!-- app:wheel_cyclic="true" デフォルトではfalse 最小値を下回った時に最大値、最大値を上回った時に最小値になる。 -->
<!-- app:wheel_curved="true" デフォルトではfalse 見た目がドラムロール式になる。。 -->
<!-- app:wheel_atmospheric="true" デフォルトではfalse 選択されていない値の色が薄くなる。 -->
<!-- app:wheel_curtain="true" デフォルトではfalse 選択された部分にカーテンのように重ね掛けする。
wheel_curtain_colorで色の指定ができる。指定がない場合は白色になる。指定する場合、透明度を設定しないと
塗りつぶされて見えなくなるので注意。フォントの色も変わるので正直、背景色の設定を工夫したほうがいいと思う-->
<!-- app:wheel_indicator="true" デフォルトではfalse 選択された箇所に上下に線を引く。デフォルトの色は赤。
wheel_indicator_colorで色を、wheel_indicator_sizeで太さを変更できる-->
<com.aigestudio.wheelpicker.WheelPicker
android:id="@+id/wheelPickerLeft"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#146905"
app:wheel_atmospheric="true"
app:wheel_curved="true"
app:wheel_cyclic="true"
app:wheel_item_text_color="#000000"
app:wheel_item_text_size="40sp"
app:wheel_selected_item_position="0"
app:wheel_selected_item_text_color="#ecf93c"
app:wheel_visible_item_count="3" />
コードの設定。
*WheelPickerOnItemSelected を使わないならば、
多分WheelPickerOnItemSelectedの記述はいらない
private interface WheelPickerOnItemSelected : WheelPicker.OnItemSelectedListener{
override fun onItemSelected(picker: WheelPicker?, data: Any?, position: Int) { }
}
class MainActivity : AppCompatActivity() , WheelPickerOnItemSelected {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val array0to9 = arrayOf(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
val list0to9 = Arrays.asList(*array0to9)
wheelPickerLeft.data = list0to9
wheelPickerLeft.setOnItemSelectedListener(this)
wheelPickerMiddle.data = list0to9
wheelPickerMiddle.setOnItemSelectedListener(this)
wheelPickerRight.data = list0to9
wheelPickerRight.setOnItemSelectedListener(this)
}
override fun onItemSelected(picker: WheelPicker?, data: Any?, position: Int) {
super.onItemSelected(picker, data, position)
var num :Int = 0
when(picker!!.id){
R.id.wheelPickerLeft -> textViewNumLeft.text = position.toString()
R.id.wheelPickerMiddle -> textViewNumMiddle.text = position.toString()
R.id.wheelPickerRight -> textViewNumRight.text = position.toString()
else -> 0
}
}
}
採用しようかと思ったが、表示の制御で出来なくて
(具体的には時間が25以上になった時に24に差し替える処理)
心が折れたので採用を取りやめます。
原因は検証しきれていないが、どうもダイアログで呼び出しているのが原因のように思える。
分単位の操作が多くて扱いづらいのだが、ひとまずTimePickerを採用します
このままだと現在時刻を取得するので初期化をしようと思ったのだが
hourやminuteを呼び出すとapi23以上しか対応していないと言われる
調べてみたところ、前はcurrentHourやcurrentMinuteを使っていたようである。
一先ず初期化ができたのは確認できたので
今日はここまで