CaldroidFragment的大小在ScrollView中嵌入時會混亂。原因是Caldroid使用GridView渲染日曆,並且作爲一個已知問題,GridView無法在ScrollView中正確測量其高度,並且迄今爲止沒有更好的解決方案。我嘗試了一些提到的解決方法here,但到目前爲止沒有發現任何可行的解決辦法。如何確定ScrollView中的Caldroid高度(如何確定ScrollView中嵌入的GridView的高度)
1
A
回答
1
由grennis(here)解決方案是正確的,也許只是解釋它好一點:
1 .-添加您的FrameLayout的XML模板:
<FrameLayout android:id="@+id/calendar_container"
android:layout_width="match_parent"
android:layout_height="999dp" />
2:添加變量,並在您的Java活動或片段聽衆
private ViewTreeObserver.OnGlobalLayoutListener CalendarViewTreeObserver = new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
calendarContainer.getViewTreeObserver().removeOnGlobalLayoutListener(CalendarViewTreeObserver);
ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) calendarContainer.getLayoutParams();
lp.height = ((ViewGroup)calendarContainer).getChildAt(0).getHeight();
calendarContainer.setLayoutParams(lp);
calendarContainer.requestLayout();
}
};
private FrameLayout calendarContainer;
3.-賦給變量日曆集裝箱正確的資源(可以在OnCreate或完成imilar法):
calendarContainer = (FrameLayout) getActivity().findViewById(R.id.calendar_container);
calendarContainer.getViewTreeObserver().addOnGlobalLayoutListener(CalendarViewTreeObserver);
setCustomResourceForDates();
4.-設置Caldroid片段與交易
FragmentTransaction t = getActivity().getSupportFragmentManager().beginTransaction();
t.replace(R.id.calendar_container, caldroidFragment);
t.commit();
也許一些其他方面的考慮是,這一解決辦法可能只在16 API工作+由於removeOnGlobalLayoutListener和在這個例子中,我在片段內工作
0
終於找到了可行的解決方案。 gennis給出的解決方案here是正確的。我所做的唯一修改是將代碼calendarContainer.getViewTreeObserver().addOnGlobalLayoutListener(CalendarViewTreeObserver)
放入CaldroidFragment的回調函數onCaldroidViewCreated
。
相關問題
- 1. 如何增加Android中的ScrollView高度?
- 2. Scrollview高度
- 3. 如何確定UITextView中行的高度?
- 4. 如何修復android scrollView的高度?
- 5. 如何計算Android上的ScrollView內的GridView所需的高度?
- 6. 調整scrollView的高度
- 7. 如何確定InputBox的高度?
- 8. 保持ScrollView佔用太高的高度
- 9. 如何確定顫動中圖像的寬度和高度?
- 10. 如何確定垂直ScrollView的方向?
- 11. 動態設置scrollView高度
- 12. Android ScrollView高度太短
- 13. 如何確定電力BI報表的寬度和高度嵌入
- 14. 確定iFrame的高度
- 15. 確定元素的高度
- 16. 確定iframe的高度
- 17. 如何確定虛擬鍵盤高度?
- 18. 在數據綁定過程中確定GridView的高度
- 19. 如何確定高度蓋的內容假設容器高度固定
- 20. 確定SDL_surface的寬度/高度的SDL_function?
- 21. 確定UIWebView內容的高度(嵌入在UITableViewCell中)
- 22. ScrollView中的自定義Gridview
- 23. 「:之後」元素的高度和寬度是如何確定的?
- 24. 如何強制我的跨度有一個確定的高度?
- 25. 如何確定ul中的幾個ui-btn的統一高度?
- 26. 確定屏幕的高度在Java中
- 27. scrollView上的UIWebView調整高度
- 28. 需要ScrollView的最大高度
- 29. ScrollView的高度0即使fill_parent
- 30. 確定視圖的寬度和高度