Android軟鍵盤研究

來源:互聯網
上載者:User
Android軟鍵盤研究: 1.利用按鈕彈出軟鍵盤。 2.程式啟動後直接彈出軟鍵盤。

1.由Button的OnClick事件調出軟鍵盤和隱藏軟鍵盤。具體代碼如下:

public class test extends Activity implements OnClickListener{ Button bt; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.main); LinearLayout l=new LinearLayout(this); LinearLayout.LayoutParams ll=new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT ); bt=new Button(this); bt.setId(123); bt.setText("出來啦!!!"); bt.setOnClickListener(this); /*bt.setOnClickListener(new OnClickListener(){ public void onClick(View v) { InputMethodManager m=(InputMethodManager) bt.getContext() getSystemService(INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } });*/ l.addView(bt, ll); this.setContentView(l); } public void onClick(View v) { Log.e("TAG", "in..................."); InputMethodManager m=(InputMethodManager) bt.getContext() getSystemService(INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); // m.showSoftInput(findViewById(123), InputMethodManager.SHOW_FORCED); } } 

2.程式啟動後直接彈出軟鍵盤,不能直接在OnCreate中設定,必須等View繪製事件完畢才可以彈出,需要用到Timer輔助實現,代碼如下。

public class chick extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.main); LinearLayout l=new LinearLayout(this); l.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams ll=new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT ); bt=new Button(this); bt.setId(123); bt.setText("出來吧!!!"); /*bt.setOnClickListener((OnClickListener) this); bt.setOnClickListener(new OnClickListener(){ public void onClick(View v) { InputMethodManager m = (InputMethodManager)bt.getContext() getSystemService(INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } });*/ Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { Log.e("TAG", "run"); InputMethodManager imm = (InputMethodManager)bt.getContext().getSystemService(INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); Toast.makeText(chick.this, "show", Toast.LENGTH_SHORT).show(); } }, 1000); l.addView(bt, ll); this.setContentView(l); } Button bt; }

http://dev.10086.cn/cmdn/bbs/viewthread.php?tid=20359

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.