Jak ukazují úpravu textu, box „přes“ obrazovky?

hlasů
15

Mám aplikaci, která má primární rozložení na výšku (to je pevně stanoven jako portrét), a tam je jedno místo, zadat text. Chtěl bych zahájit jako pop-up okna s orientací na šířku se obraz pozadí zamlžené ven. Vím, že tam je Popup Widget, ale nějaké nápady pro otáčení textové pole textu by bylo skvělé. (Pouze textové pole) otáčením do zobrazení na výšku, když je klávesnice vyklouzl by také fungovat, jak by ukazovat novou obrazovku s textové pole na klávesnici snímku.

Položena 20/01/2009 v 09:01
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
37

Nejjednodušší řešení vašeho problému je zobrazení vaší EditTextrámci samostatné dialogtematické aktivity, které spustit ze svého hlavního (portrét-pevná) aktivitu.

EDITTEXT aktivita by neměla mít jeho orientace pevné, takže se bude otáčet, jak byste očekávali, když vysouvací klávesnice.

Vytváření textu Vložení Activity

Vytvořte novou aktivitu pouze EDITTEXT Zobrazení obsahuje a vše ostatní, co chcete zahrnout (pravděpodobně OK / Cancel tlačítka a možná označení?). V manifestu nastavit jeho motivu Theme.Dialog.

<activity android:name="TextEntryActivity" 
          android:label="My Activity" 
          android:theme="@android:style/Theme.Dialog"/>

Zamlžování nebo rozmazání činností za sebou dialogu se provádí změnou vlastností okno popředí Činnost (vaše dialogové vkládání textu). Uvnitř je to onCreate použít metodu getWindow().setFlagsaplikovat rozmazání na jakékoliv pozadí aktivit.

getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,  
                     WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

Spouštění a čtení zadaných hodnot od zadávání textu Činnost

Použít startActivityForResultke spuštění zadávání textu aktivitu. V rámci této výzvy aktivita setResultvrátit textový řetězec zadaný v vrácené záměru pomocí technik popsaných v tomto příspěvku .

Přepsat onActivityResultmetody naslouchat výsledku z vedlejší činnosti.

Spouštění Spuštění z klávesnice Odkryté

Můžete spustit textové vstupní aktivita kdykoliv chcete, ale pokud chcete, aby se vždy zobrazí, když je klávesnice vystavena můžete tuto událost zachytit explicitně.

Začněte tím, že přidá android:configChangesatribut zjevného vstupu portrétem činnost vznikla. Mělo by být registrovány naslouchat keyboardHidden.

android:configChanges="keyboardHidden"

V rámci této aktivity, přepsat onConfigurationChangedzahájit zadávání textu aktivitu.

@Override
public void onConfigurationChanged(Configuration newConfig) {  
  Intent i = new Intent(this,TextEntryActivity.class);    
  startActivityForResult(i, STATIC_INTEGER_VALUE);
}

Možná budete chtít zkontrolovat, potvrdit klávesnice je vystavena (spíše než skrytý) pomocí proměnné NewConfig před zahájením zadávání textu aktivitu.

Můžete také použít stejnou techniku ​​pro automatické vrácení ze vstupní činnosti textu, když je klávesnice je skryta.

Odpovězeno 20/01/2009 v 10:18
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more