ترجمه
این مبحث (کلید)، ترجمه می باشد و منبع اصلی آن در انتها ذکر شده است. با اشاره بر روی دکمه های به شکل می توانید متن انگلیسی منبع را مشاهده کنید.
ساخت یک View سفارشی (Custom View) در Action Bar (به عنوان مثال، یک EditText)، در برنامه نویسی اندروید
در Action Bar ، معمولا گزینه هایی (action items) به شکل دکمه (Button) را به کار می بریم. اما سایر View ها مثل EditText نیز می توانند در Action Bar قرار بگیرند و بر اساس View قرار گرفته، می توانیم قابلیت های گزینه ها (action items) را گسترش بدهیم.
در این مبحث، یک برنامه اندروید می سازیم که در آن ، وقتی کاربر گزینه ای با نام Search در منو (menu) را انتخاب می کند، یک EditText در Action Bar نمایش داده می شود. کاربر می تواند متن مورد نظر خود را در EditText بنویسد و سپس با زدن enter ، متن وارد شده توسط وی، در یک پیام toast نمایش داده می شود (پس می توان متن ورودی را به هر شکل دلخواه، پردازش نمود).
این برنامه اندروید در Eclipse 3.7.2 ساخته شده و در یک گوشی مجازی (Virtual device) با API برابر 14 تست شده است.
1- یک پروژه اندروید با نام ActionBarActionView می سازیم :
شماره مورد نظرمان برای Android Build Target را انتخاب می کنیم :
مشخصات برنامه اندروید را تعیین می کنیم :
4- یک پوشه (folder) با نام menu در پوشه res از پروژه اندروید ساخته و سپس در آن، یک فایل با نام items.xml ایجاد می کنیم (در این فایل، item های Action Bar تعریف می شوند) :
یک فایل لایه (layout) با نام seach_layout.xml در پوشه res/layout می سازیم که در آن، کدهای مربوط به تعریف View سفارشی (همان EditText) قرار می گیرد :
کدهای فایل src/in/wptrafficanalyzer/actionbaractionview/MainActivity.java را به صورت زیر بازنویسی می کنیم :
برنامه اندروید ساخته شده را اجرا می نماییم :
دانلود پروژه اندروید برای Eclipse :
سلام
در مورد ()onEditorAction، چطور برنامه متوجه میشه که گزینه search زده شده؟
جایی در مورد این، توی برنامه لحاظ نشده؟؟!!
یعنی ابتدا برنامه باید متوجه زدن search بشه و بعد به متد onEditorAction بره!