2015-12-31 49 views
0

我試圖創建一個非常簡單的自定義視圖。然而,我需要在我的佈局中重複這個視圖幾百次,這使得最初的繪圖非常慢(幾秒鐘)。我不知道處理這個問題的最佳方法是什麼,但我發現有多餘的佈局會顯着減慢繪圖速度。最小化自定義視圖中的佈局數量Android

當我第一次設計自定義視圖時,是否擴展了LinearLayout,然後將視圖的xml擴展到它。但實際上,我覺得LinearLayout是一種浪費。有沒有辦法把它剪掉?

另外,有沒有更有效的方式來多次創建相同的視圖?


EDIT

爲了清楚起見,在運行時產生的自定義視圖和確切的數目被確定,然後。此外,這些意見被嵌入在一個更復雜的佈局


下面是我的Java類:

public class MyView extends LinearLayout { 

    public TOCNumBox(Context context) { 
     super(context); 
     inflate(context, R.layout.myview, this); 
    } 
} 

而這裏的XML:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/textview" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="234"> 
</TextView> 

回答

0

在正在顯示全部100個意見同一時間?如果沒有,例如,如果它們處於可滾動列表視圖中,請嘗試使用回收視圖來提高性能。或者,如果需要同時顯示,則可以將所有100個TextView放在一個佈局中。

+0

對不起,它不明確。自定義視圖是動態生成的。只有在運行時,我才知道我需要創建多少個視圖。此外,自定義視圖是在一個更復雜的佈局(所有在運行時生成),它有自己的滾動視圖,所以列表視圖不是一個好的選擇。但感謝您的建議 – Bob

+0

@Bob Android真的不是爲了處理這種事情而設計的。考慮重新考慮原始的UI設計,一次只顯示幾個組件。有機會有更好的方式做你想做的事。 –

+0

是的,我同意這絕對不是一個理想的設計。我正在嘗試尋找替代品。你有沒有想過我是否需要LinearLayouts? – Bob