私のAndroidアプリケーションでButton
は、レイアウトの最初の部分に自動的に焦点が合わせられ、オレンジ色の輪郭が表示されます。できればXMLで初期フォーカスを設定するにはどうすればよいですか?これを何にも設定できませんか?
回答:
requestFocus
タグを使用できます:
<Button ...>
<requestFocus />
</Button>
ボタンの1つに自動フォーカスがかかるのは奇妙だと思いますが、どのビューでもその動作は観察されていません。
@Someoneどこかで、私は上記のすべてを無駄に試しました。私が見つけた修正はhttp://www.helloandroid.com/tutorials/remove-autofocus-edittext-androidからのものです。基本的に、問題のあるボタンのすぐ上に非表示のレイアウトを作成する必要があります。
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
含むに入れましたEditText
。
:focusable
と:focusableInTouchMode
を両方ともtrueに設定し、を呼び出しますrequestFocus
。それはトリックを行います。
これが私にとって最も効果的であることがわかりました。
AndroidManifest.xmlに<activity> element
追加android:windowSoftInputMode="stateHidden"
これにより、アクティビティに入るときに常にキーボードが非表示になります。
このコード行をonCreate()
:に追加するだけです。
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
問題が解決しました。
@Someoneどこかで私はこれを使って焦点を明確にしました:
editText.clearFocus();
そしてそれは役立ちます