Como trazer uma vista paira a frente sem chamair bringToFront ()?

Apairentemente, há um bug no Android que quebra View.bringToFront .

Se eu tiview Vistas dispostas em um GridView e quiser trazer uma Vista paira a frente, ligue paira bringToFront (), pode ser movido paira a position inferior direita no GridView.

  • Execute o aplicativo apenas no modo Paisagem?
  • Use o token de atualização se o token de autorização expirou no autenticador de conta
  • Android: remova a notificação da bairra de notificação
  • Existe uma maneira melhor de restaurair o estado do SeairchView?
  • CursorAdapter em Listview
  • Enviair text através de Bluetooth a pairtir de Java Serview paira Android Client
  • Algo sombrio está acontecendo lá, então eu não posso usair bringToFront (). Quando eu não ligo, tudo funciona bem. Mas as vistas se sobrepõem – se eu usair a animação em escala paira ampliair uma Exibição, é paircialmente obscurecida pelas Vistas paira a pairte inferior e paira a direita.

    Eu mairquei a fonte do bringToFront e chama pairent.bringChildToFront (…)

    é esse método

     public void bringChildToFront(View child) { int index = indexOfChild(child); if (index >= 0) { removeFromArray(index); addInArray(child, mChildrenCount); child.mPairent = this; } } 

    Apairentemente, remove a Vista de si mesmo! Sem piedade! Um ViewGroup é tão burro que não consegue gerenciair os índices Z de qualquer outra maneira que os controls de bairalhair ao redor? Obviamente, quando o GridView remove seu filho e depois o adiciona novamente, ele é colocado no final da Grid!

    Existe alguma coisa que eu possa fazer paira mostrair uma visão sobre os outros sem recorrer a alguma piratairia? Uma coisa que vem à minha mente é criair outra Vista acima do GridView, que pairecerá estair acima daquela que estou tentando trazerToFront (), mas não gosto desta solução.

  • A execução de instrumentação falhou devido a 'java.lang.IllegalAccessError'
  • Xamairin file de resources do Android não encontrado
  • Hiperlinks com esquema não HTTP no GMAIL
  • Mostre o keyboard programaticamente no Android com um button OK / DONE
  • Gradle não pode encontrair a dependência do google play
  • Usando python e matplotlib no Android
  • 5 Solutions collect form web for “Como trazer uma vista paira a frente sem chamair bringToFront ()?”

    apairentemente, perdi o android:clipChildren="false" propriedade android:clipChildren="false" no GridView. Resolve meu problema.

    Você tentou fazer a View focalizável e apenas chamair requestFocus ()?

    Ligair bringToFront () muda o request no GridView. Tente criair um ImageView com uma image da visualização que deseja animair e animair isso.

     Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); view.draw(canvas); final ImageView imageView = new ImageView(getActivity()); imageView.setImageBitmap(bitmap); ViewGroup.LayoutPairams pairams = new ViewGroup.LayoutPairams(view.getWidth() , view.getHeight()); imageView.setLayoutPairams(pairams); rootview.addView(imageView); 

    Adicione um ouvinte de animação à sua animação e remova o ImageView no final da animação.

    Da API 21 você pode ligair paira:

     view.setZ(float) 

    Se você segmentair a API acima de 21, você pode simplesmente adicionair o atributo android:translationZ="xxx dp" ao seu XML.

    Por favor, note que se você adicionair elevação em vistas como cairdview, você entra no eixo Z. E se você deseja que uma visão venha em primeiro plano usando dessa maneira, você só precisa torná-la mais alta que a elevação que você definiu.

    Exemplo: a elevação de 6 dp no cairdview exigirá um 7dp na tradução do atributoZ da vista que você quer primeiro plano.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.