読者です 読者をやめる 読者になる 読者になる

Zinc #13 URLバー内でのEnterキーでWebページをロード

ページをロードするときに押していたBUTTON1を削除して、URLを入力してEnterキーを押したらロードするようにする・・・。
BUTTON1はURLバーの内容をクリアするButtonとして再利用・・・。

activity_main.xmlは、

android:drawableRight="@android:drawable/ic_input_delete"で、Buttonの見た目はテキストの右に削除アイコンが表示されるようなものにする・・・。
Buttonは、android:background="@color/white"で白に・・・。
LinearLayoutもEditText(urlbar_frameの中に@color/whiteがある)も白だ・・・。
android:layout_weight="1"でウェイトを1にした・・・。
ウェイトが効くように、android:layout_width="0dp"で幅は0にセット・・・。

実際にはButtonにテキストはなにもセットしていない・・・。

URLバー側は、android:layout_weight="9"でウェイトを9に・・・。

urlbar_frame.xmlは、

cornersで5dpの角丸にする・・・。
strokeで2dpの青い枠線・・・。

activity_main.xmlに戻って、

paddingすることで、キャレットがEditTextをはみ出ないように・・・。
singleLineはtrueに・・・。
imeOptionsで"actionDone"を指定すると、Enterキーには完了と表示される・・・。

さて、MainActivityでは、

TextView.OnEditorActionListenerを追加・・・。

urlBar.setOnEditorActionListenerにthisをセットして、

onClickにあったロード処理をonEditorActionに移動・・・。
ソフトウェアキーボードの非表示も・・・。

一方、button1が押されたら、

urlBar.setTextで空文字列をセットするように変更・・・。

f:id:BG1:20160712151353p:plain

こんな感じに変わった・・・。

f:id:BG1:20160712151409p:plain

でURLを入れて"完了"(Enter)を押すと、

f:id:BG1:20160712151507p:plain

ロードされる・・・。

右のクリアするButtonを押すと、

f:id:BG1:20160712151545p:plain

URLバーがクリアされる・・・。

f:id:BG1:20160712151614p:plain

また、こうやって入れて、"完了"を押すと、

f:id:BG1:20160712151635p:plain

ロードされる・・・。

https://github.com/bg1bgst333/Zinc/tree/develop/android/empty_activity/android_studio/src/Zinc