2015-11-13 6 views
1

Я пытаюсь добавить PlotView (пользовательский вид) в LinearLayout. У моего LinearLayout есть weightSum из 8. Внутри моего .xml я определил Space (вес 3), который должен появиться над моим PlotView и Button (вес 1), который должен следовать за моим участком внизу. Все идет нормально. Теперь PlotView добавлен программно, с весом 4. Однако он всегда будет потреблять почти весь экран, и я не уверен, что я делаю неправильно здесь.Взвешенный вид в макете

Мой код:

  1. main_activity.xml (фрагмент)

    <LinearLayout 
        android:orientation="vertical" 
        android:layout_width="match_parent" 
        android:layout_height="fill_parent" 
        android:layout_alignParentEnd="true" 
        android:id="@+id/linlayout" 
        android:weightSum="8"> 
    
        <Space 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         android:layout_weight="3"/> 
    
        <Button 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/calibrate" 
         android:id="@+id/calibration" 
         android:layout_weight="1" 
         android:layout_gravity="center_horizontal" /> 
    </LinearLayout> 
    
  2. main_activity.java (фрагмент)

    LinearLayout layout = (LinearLayout) findViewById(R.id.linlayout); 
    plotView.setLayoutParams(new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.MATCH_PARENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT, 4f)); 
    layout.addView(plotView, 1); 
    

Любая идея, что я делаю неправильно?

ответ

0

Решение установить высоту, на которую влияет на вес, 0.

кодекса в .xml:

android:layout_height="0dp" 

Код в .java:

plotView.setLayoutParams(new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.MATCH_PARENT, 0, 4f)); 
Смежные вопросы