このリンクを参照しました!
私のニーズ:クリックまたはフォーカスした場合EditText
は、を呼び出す必要がありますMenus
。メニューでは、2つのオプションを作成したいと思います。つまり、通常の書き込みとキーボードの書き込みです。
ユーザーがキーボード書き込みを選択すると、Androidキーボードのように見えます。キーボードから入力できるはずです。そして次は、通常の書き込みです。これは通常のようです。
メニューでは、ユーザーが通常の書き込みを選択した場合、MS-Paintアプリケーションのようにクリックすると1つの画面が表示されます。鉛筆を使用すると、ユーザーはペイントアプリケーションで作成するのと同じように作成できるはずです。
私はAndroidに不慣れで、学習しています!
私のコードでは、メニューのすべての機能をどこで実行する必要がありますか?
どうすればこれを行うことができますか?どんな助けや提案も大歓迎です!
そしてこれは私のコードです:
else if(q.trim().equals("A"))
{
fillUp=new EditText(context);
fillUp.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
}
});
fillUp.setBackgroundResource(R.drawable.option);
fillUp.setId(9);
fillUp.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu arg0, View arg1,ContextMenuInfo arg2) {
}
});
fillUp.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
Toast.makeText(context, "Focused", Toast.LENGTH_LONG).show();
if (hasFocus) {
context.getWindow();
context.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
Rl=new RelativeLayout.LayoutParams(weigth/4,height/15);
Rl.addRule(RelativeLayout.BELOW,1);
Rl.addRule(RelativeLayout.CENTER_HORIZONTAL,1);
fillUp.setLayoutParams(Rl);
fillUp.setGravity(Gravity.CENTER);
fillUp.setId(9);
compLayout.addView(fillUp);
私のXMLコード:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/icon"
android:icon="@drawable/keyboard" />
<item android:id="@+id/text"
android:title="Text" />
<item android:id="@+id/icontext"
android:title="Icon and text"
android:icon="@drawable/writing" />
</menu>