2

這是我的XML與2 LinearLayouts如何將另一個視圖充氣到LinearLayout?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 
    <LinearLayout 
      android:id="@+id/ll_one" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      /> 
    <LinearLayout 
      android:id="@+id/ll_two" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      /> 
</LinearLayout> 

我已經從http://android.arnodenhond.com/components/graphview下載GraphView。這個類擴展了View。我基本上是想通過

String[] verlabels = new String[]{"aim", "25%", "50%", "75%", "start"}; 
String[] horlabels = new String[]{"this", "max"}; 

float[] values = new float[]{2.0f, 6.0f}; 
aaaGraphView graphView = new aaaGraphView(this, values, "Graph One", 
     horlabels, verlabels, aaaGraphView.BAR); 

float[] values2 = new float[]{1.0f, 12.0f}; 
aaaGraphView graphView2 = new aaaGraphView(this, values2, "Graph Two", 
     horlabels, verlabels, aaaGraphView.BAR); 

初始化2個圖形,然後膨脹成graphViewll_onegraphView2ll_two

我該怎麼做?我初始化了LinearLayout

llOne = (LinearLayout) findViewById(R.id.ll_one); 

,但它沒有inflate()方法。

回答

5

你不需要inflate另一個view在你的LinearLayout裏面,你只需要在LinearLayout內添加另一個孩子。只需使用LinearLayout上的addView()方法即可滿足您的需求。以下是一個示例:

llOne.addView(graphView); 
3

如果你的類的延伸視圖名稱是aaaGraphView試試這個:

<package1.package2....aaaGraphView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

</package1.package2....aaaGraphView> 
+0

如果是,請將其標記爲答案。 – breceivemail

+0

謝謝,但我正在尋找一種方法來以編程方式做到這一點。 – sandalone

3

嘗試這種方式,我已經添加了的LinearLayout到另一個線性佈局這樣,

setContentView(R.layout.main); 
final ViewGroup vg = (ViewGroup) findViewById(R.id.ll_one); 
vg.addView(graphView); 
+0

謝謝,但通過addView()方法更簡單。 – sandalone

+0

更簡單的方法意味着我沒有得到它?你想讓它變得複雜嗎? – MKJParekh

+0

我已經將ll_one初始化爲LinearLayout,並且引入了另一個步驟'final ViewGroup vg =(ViewGroup)findViewById(R.id.ll_one);'。你的回答也很好,這就是我投票的原因。 – sandalone

相關問題