Sto creando la visualizzazione a livello di codice in Android. Il layout principale è relativo e sto aggiungendo due viste. La prima è la visualizzazione elenco e la seconda è la visualizzazione personalizzata. Voglio che la mia seconda vista personalizzata venga in cima alla lista, ma in qualche modo si sta nascondendo dietro la vista elenco. Come faccio ad assicurarmi che la mia vista personalizzata sia in primo piano.Come mettere una visualizzazione su un'altra in Layout relativo programmaticamente in Android?
risposta
Usa FrameLayout, il layout fotogramma mostra ultima vista aggiunto in cima ..
Non voglio usare FrameLayout, ISN ci sono comunque per farlo in Relative Layout? – Chimu
Visualizzazioni vengono inseriti nell'ordine di aggiungerli alle loro viste padre. La vista aggiunta per ultima sarà in cima. Si potrebbe anche voler provare View.bringToFront()
http://developer.android.com/reference/android/view/View.html#bringToFront()
Ho provato a usare bringToFront() ma non ha funzionato – Chimu
Prova questa:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<YourCustomView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
Per qualche motivo, voglio usare solo il layout relativo, non è comunque in grado di gestire l'ordine z dei bambini del layout relativo – Chimu
Anche in questo caso: Visualizzazioni vengono messi alla disposizione secondo l'ordine si aggiunge. La domanda è: è davvero nascosta o non rende? Controllare LogCat e Console per errori. Se si aggiunge questa singola vista personalizzata al proprio layout, viene visualizzato senza problemi? In tal caso, assicurati di aggiungere la tua personalizzazione alla stessa visualizzazione genitore (gruppo), mentre aggiungi il tuo ListView. Se non si ottiene ulteriormente, fornire un campione di codice rispettivo.
Soluzione 1 - View # BringToFront() View.bringToFront()
dovrebbe funzionare se usato correttamente. Forse hai dimenticato questo (fonte: http://developer.android.com/reference/android/view/View.html#bringToFront()):
Prima di KITKAT questo metodo deve essere seguito da chiamate a requestLayout() e invalidare()
Soluzione 2 - ricollegare vista
Se View.bringToFront()
non funziona, provare a rimuovere e aggiungere nuovamente la vista. Il vantaggio è che ha lo stesso codice anche nelle versioni pre-KITKAT.
sto facendo in questo modo nel mio codice:
ViewGroup parentView = (ViewGroup) (listView.getParent());
parentView.removeView(addFab);
parentView.addView(addFab);
Questo funziona per me:
<RelativeLayout
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="220dp"
android:gravity="bottom"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/details_wrapper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingBottom="16dip"
android:scaleType="centerCrop"
android:src="@drawable/temp_nav_image">
</ImageView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="Kapil Rajput"
android:textStyle="bold"
android:textColor="@android:color/black"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textStyle="bold"
android:text="[email protected]"/>
</LinearLayout>
</RelativeLayout>
ho usato il layout relativo e l'ordine dei punti di vista in qualche modo determina che uno è in cima .
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:splitTrack="false"
android:layout_alignParentTop="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
In questo layout, il TextView sarà in cima alla SeekBar
Fai vista padre come il layout relativo e aggiungere il sia vista in xml.It non funzionerà per il layout lineare. E quindi aggiungere FirstView.bringToFront() in modo programmato.
<RelativeLayout 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:background="@mipmap/bg"
android:orientation="vertical"
android:padding="15dp">
<ImageView
android:id="@+id/imgIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:layout_marginBottom="-30dp"
android:layout_marginTop="30dp"
android:src="@mipmap/login_logo" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/imgIcon"
android:layout_gravity="bottom"
android:background="#B3FFFFFF"
android:gravity="center"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingRight="10dp">
<View 1/>
<View 2/>
</LinearLayout>
Java file
imgIcon.brigtToFront();
- 1. iOS8 Auto layout programmaticamente pin al margine di layout relativo
- 2. Android Layout peso programmaticamente
- 3. Android "layout_alignParentBottom" nel layout relativo
- 4. Layout relativo in ScrollView
- 5. Come evitare la sovrapposizione di visualizzazione nel layout relativo in Android?
- 6. come impostare dinamicamente l'altezza del layout relativo in Android
- 7. Come rifiutare una chiamata programmaticamente in Android
- 8. Aggiungi layout con parametri programmaticamente Android
- 9. Come centrare una visualizzazione personalizzata su Android?
- 10. Come mettere un'immagine in una AlertDialog? Android
- 11. Modifica layout Android da Relativo a Linear
- 12. imposta programmaticamente la proprietà "Layout to right of" in Android
- 13. layout relativo dipendenze circolari Android errore
- 14. come disattivare le viste dietro popup relativo layout - android
- 15. Android - Come rimuovere View in Layout (Visualizzazione aggiunta dinamicamente)
- 16. Layout relativo ignorato setMargin()
- 17. Come centrare due viste in un layout relativo?
- 18. Invia email programmaticamente su Android
- 19. Impostare l'immagine di sfondo su Layout relativo utilizzando Glide in Android
- 20. Layout relativo. Tra 2 articoli
- 21. Come mettere in pausa il timer handler.postDelayed() su Android
- 22. Android: larghezza del layout programmaticamente con fill_parent nel suo xml
- 23. Visualizzazione Android HTML in una ListView
- 24. Android: vista personalizzata basata sul layout: come?
- 25. Layout per tablet in Android
- 26. Come posizionare il layout relativo nella parte inferiore dello schermo (o layout lineare).?
- 27. Android: come aggiungere i bambini da un layout XML in una visualizzazione personalizzata
- 28. Come posso sovrapporre una CordovaWebView di PhoneGap su una visualizzazione nativa in Android?
- 29. Fare clic programmaticamente su Notifica Android
- 30. Imposta il colore di sfondo di una vista Layout su una sfumatura in Android?
prega postyour codice –