Tworzenie aplikacji mobilnych

15
Tworzenie aplikacji mobilnych Android IMF (Input Method Framework)

description

Tworzenie aplikacji mobilnych. Android IMF (Input Method Framework ). android:inputType. text (domyślny) number phone datetime date time. < TextView android:text ="No special rules :"/> < EditText /> … < TextView android:text ="Email address :"/> < EditText - PowerPoint PPT Presentation

Transcript of Tworzenie aplikacji mobilnych

Page 1: Tworzenie aplikacji mobilnych

Tworzenie aplikacji mobilnych

AndroidIMF (Input Method Framework)

Page 2: Tworzenie aplikacji mobilnych

android:inputType

• text (domyślny)• number• phone• datetime• date• time

Page 3: Tworzenie aplikacji mobilnych

<TextView android:text="No special rules:"/><EditText/>

…<TextView android:text="Email address:"/><EditTextandroid:inputType="text|textEmailAddress"/>

…<TextView android:text="Signed decimal number:"/><EditText

android:inputType="number|numberSigned|numberDecimal"/>…

<TextView android:text="Date:"/><EditTextandroid:inputType="date"/><TextView android:text="Multi-line text:„ /><EditTextandroid:inputType="text|textMultiLine|textAutoCorrect"android:minLines="3"android:gravity="top"/>

Page 4: Tworzenie aplikacji mobilnych
Page 5: Tworzenie aplikacji mobilnych

Akcje po wprowadzeniu danych<EditTextandroid:inputType="text|textEmailAddress"android:imeOptions="actionSend"/>…..

</TableRow><TableRow>

<TextViewandroid:text="Signed decimal number:" />

<EditTextandroid:inputType="number|numberSigned|numberDecimal"android:imeOptions="actionDone"

/>

Page 6: Tworzenie aplikacji mobilnych

Obsługa akcji

• setOnEditorActionListener(new MyActionLisener() )

• Obsługa komunikatów przekazywanych za pomocą flag:

• IME_ACTION_SEND

Page 7: Tworzenie aplikacji mobilnych

Obsługa umieszczania IME na ekranie

• Umieszczenie IME nad layutem• Zmiana rozmiaru Layout- u

Page 8: Tworzenie aplikacji mobilnych

Własna kontrola nad wprowadzaniem danych

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.commonsware.android.imf.two" android:versionCode="1"android:versionName="1.0"><application android:label="@string/app_name" android:icon="@drawable/cw">

<activity android:name=".IMEDemo2" android:label="@string/app_name"

android:windowSoftInputMode="adjustResize">

<intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/>

</intent-filter></activity>

</application><supports-screens android:largeScreens="true" android:normalScreens="true"android:smallScreens="true" android:anyDensity="true"/></manifest>

Page 9: Tworzenie aplikacji mobilnych

Kontrola nad Wprowadzaniem danych(Ukrycie IME)

• InputMethodManager mgr=(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);

• mgr.hideSoftInputFromWindow(fld.getWindowToken(), 0);

• mgr.hideSoftInputFromWindow(fld.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);

Page 10: Tworzenie aplikacji mobilnych

Data Adapers

• Dostęp do danych• Odpowiadają zarówno za dostęp do danych ja

i za konwersje do odpowiednich obiektów View

Page 11: Tworzenie aplikacji mobilnych

Przykład(generacja w obiektach TextView)

•String[] items={"this", "is", "a","really", "silly", "list"};

•new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items);

Context

Layout

Kolekcja

Page 12: Tworzenie aplikacji mobilnych

Przykład:<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent" >

<TextViewandroid:id="@+id/selection"android:layout_width="fill_parent"android:layout_height="wrap_content"/>

<ListViewandroid:id="@android:id/list"android:layout_width="fill_parent"android:layout_height="fill_parent"android:drawSelectorOnTop="false"/>

</LinearLayout>

Page 13: Tworzenie aplikacji mobilnych

Wykorzystanie ListAcivitypublic class ListViewDemo extends ListActivity {private TextView selection;private static final String[] items={"lorem", "ipsum", "dolor","sit", "amet", "consectetuer", "adipiscing", "elit", "morbi", "vel", "ligula", "vitae", "arcu", "aliquet", "mollis", … };@Overridepublic void onCreate(Bundle icicle) {

super.onCreate(icicle);setContentView(R.layout.main);

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items));

selection=(TextView)findViewById(R.id.selection);}public void onListItemClick(ListView parent, View v, int position, long id) {

selection.setText(items[position]);}}

Page 14: Tworzenie aplikacji mobilnych

Wielokrotny wybór

• W kodzie:setChoiceMode()CHOICE_MODE_SINGLE CHOICE_MODE_MULTIPLE

• W xml:android:choiceMode

Page 15: Tworzenie aplikacji mobilnych

<?xml version="1.0" encoding="utf-8"?><ListViewxmlns:android="http://schemas.android.com/apk/res/android"android:id="@android:id/list"android:layout_width="fill_parent"android:layout_height="fill_parent"android:drawSelectorOnTop="false"android:choiceMode="multipleChoice"/>

public class ChecklistDemo extends ListActivity {private static final String[] items={"lorem", "ipsum", "dolor","sit", "amet", "};@Overridepublic void onCreate(Bundle icicle) {

super.onCreate(icicle);setContentView(R.layout.main);setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice,items));