studio requestfocus clase android android-view

requestfocus - Android: cabeSistemaSistemas de Windows no funciona



textview en android (4)

Lo más probable es que mi problema estuviera relacionado con los atributos de fitsSystemWindows múltiples / anidados que no funcionan como descubrí más adelante. Resolví mi problema aplicando el atributo a una vista, y luego copio los rellenos a otras vistas que los necesitan a través de un ViewTreeObserver.OnGlobalLayoutListener . Es un truco feo, pero hace su trabajo por ahora.

En mi tema, definí las siguientes reglas para dibujar mis vistas detrás de la barra de estado:

<item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item>

Y en la Actividad (onCreate):

getWindow.getDecorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN )

Luego, en mi Vista, estoy usando un Barcodescanner que se supone debe dibujar detrás de la barra de estado, que está funcionando. Sin embargo, cuando aplico el android:fitsSystemWindows a cualquier vista infantil, no se ajusta su posición. Sin embargo, funciona cuando lo aplico al elemento raíz.

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <my.Scanner android:id="@+id/scanner" android:layout_width="match_parent" android:layout_height="match_parent" /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <!-- Should receive a top padding, right? --> <View android:layout_width="50dp" android:layout_height="50dp" android:background="@color/red" /> </FrameLayout> </FrameLayout>


Me encuentro con el mismo problema en Android 4.4

Mi problema es <item name="android:windowTranslucentStatus">true</item>

conflicto con <item name="android:fitsSystemWindows">true</item>

Mi camino es eliminar <item name="android:windowTranslucentStatus">true</item>


Para mí, el problema fue que el teclado oculta un campo de edición de texto que se coloca al final de la actividad. He probado todas las soluciones y nada funciona. Estaba usando este código antes de la llamada al método setContentView() para hacer transparente la barra de estado:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window w = getWindow(); // in Activity''s onCreate() for instance w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); }

Lo quité y también quité android:windowSoftInputMode="adjustResize|adjustPan" from the maneifest archivo android:windowSoftInputMode="adjustResize|adjustPan" from the maneifest y ahora funciona.


Use CoordinatorLayout como raíz para su vista, funcionó para mí.

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true">