我以編程方式在android中創建視圖。父級佈局是相對佈局,我在其中添加了兩個視圖。首先是列表視圖,其次是自定義視圖。我希望我的第二個自定義視圖位於列表視圖的頂部,但不知怎的,它會隱藏在列表視圖的後面。如何確保我的自定義視圖處於頂層。如何在android中以編程方式將相對佈局中的其他視圖放在其他視圖上?
回答
意見得到安置在將它們添加到他們的父母意見的順序。最後添加的視圖將位於頂部。你可能也想嘗試 View.bringToFront()
http://developer.android.com/reference/android/view/View.html#bringToFront()
我嘗試過使用bringToFront(),但它沒有工作 – Chimu
試試這個:
<?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>
由於某種原因,我只想使用Relative佈局,反正無法處理相對佈局子的z順序 – Chimu
還是那句話:瀏覽次數得到安置在您添加它的順序佈局。問題是:它是否真的隱藏或不呈現?檢查LogCat和控制檯是否有錯誤。如果您只將這一個自定義視圖添加到您的佈局,它是否呈現沒有任何問題?如果是這樣,請確保在添加ListView時真正將自定義添加到同一父視圖(組)。如果您沒有進一步瞭解,請提供相應的代碼示例。
解決方案1 - 查看#bringToFront() View.bringToFront()
如果使用得當,應該可以正常工作。也許你忘了這(來源:http://developer.android.com/reference/android/view/View.html#bringToFront()):
此前奇巧應遵循這個方法通過調用requestLayout()和無效()
解決方案2 - 重新連接視圖
如果View.bringToFront()
不起作用,請嘗試刪除並再次添加視圖。優點是它在KITKAT之前的版本上也有相同的代碼。
我做這種方式在我的代碼:
ViewGroup parentView = (ViewGroup) (listView.getParent());
parentView.removeView(addFab);
parentView.addView(addFab);
這個工作對我來說:
<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>
我用相對佈局和意見在某種程度上決定的順序哪一個是在頂部。
<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"/>
在這種佈局中,TextView的將是搜索條
製作父視圖相對佈局的頂部和xml.It添加您同時查看線性佈局不會工作。 然後以編程方式添加FirstView.bringToFront()。
<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. Android:將視圖放在與其他視圖相同的高度
- 2. 以編程方式在其他視圖上繪製ProgressBar
- 3. 以編程方式將視圖添加到相對佈局Android
- 4. 如何以編程方式在Android中隱藏佈局/視圖
- 5. 以編程方式在其他視圖的底部添加子視圖
- 6. SlidingDrawer上方其他視圖
- 7. 如何在android中的其他視圖添加覆蓋視圖?
- 8. 以編程方式動態文本視圖的文本更改佈局中的其他視圖,我不想它
- 9. 將相對於其他視圖在視圖陣營本地
- 10. 如何在其他佈局中充氣視圖?
- 11. LinearLayout在其他視圖上方添加視圖Android
- 12. 如何以編程方式在相對佈局中添加視圖
- 13. 在PreferenceActivity中顯示其他視圖(Android)
- 14. Android:以編程方式在佈局視圖上繪製形狀
- 15. 相對視圖內以編程方式編排佈局下面
- 16. 的Android onTouch其他視圖
- 17. Android:如何以編程方式在視圖中添加視圖?
- 18. 將列表視圖與佈局的其他元素對齊
- 19. Android - 約束佈局 - 如何對齊視圖中心在其他視圖的邊緣?
- 20. 檢查其他視圖中的視圖?
- 21. 在android xml的其他視圖的中間設置視圖
- 22. 如何在android中的其他視圖(自定義視圖)上顯示adview
- 23. iOS自動佈局視圖基於其他視圖的高度
- 24. 視圖變得隱藏在Android活動中的其他視圖
- 25. 在Android中的其他視圖下更新視圖位置
- 26. 如何在iOS中的其他視圖背後添加視圖
- 27. 以編程方式在佈局中佈置子視圖
- 28. 自動佈局和在兩個其他視圖之間居中視圖
- 29. 相對佈局放置到其他相對佈局
- 30. 如何在其他佈局之間放置佈局在RelativeLayout中?
請postyour代碼 –