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

相关问题