2013-08-23 5 views
0

GraphicalView (CombinedXYChartView)을 만들어 레이아웃에 추가했습니다. 다음으로 CheckBoxes아래에 내 GraphicalView를 추가하고 싶습니다.AChartEngine - 그래픽보기는 항상 부모와 일치합니다

문제는 GraphicalView가 항상 부모와 일치하기 때문에 내 CheckBox가 보이지 않는 이유입니다. (왜냐하면 그 공간이 없기 때문입니다). 여기

이 스크린 샷입니다 :

Screenshot

을 그리고 여기 (냈다) 내 코드입니다 :

layout_chart.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/background_color" 
android:orientation="vertical" > 

<!-- layout for chart --> 
<LinearLayout 
    android:id="@+id/linearLayout_chart" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 
</LinearLayout> 

<!-- layout for checkboxes --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <CheckBox 
     android:id="@+id/checkBox1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:checked="true" 
     android:text="checkBox1" /> 
    <CheckBox 
     android:id="@+id/checkBox2" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:checked="true" 
     android:text="checkBox2" /> 
</LinearLayout> 
</LinearLayout> 

FragmentChart.java

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    LinearLayout v = (LinearLayout) inflater.inflate(R.layout.layout_chart, container, false); 
    graphicalView = initChart(); // Creating CombinedXYChartView 
    LinearLayout layout = (LinearLayout) v.findViewById(R.id.linearLayout_chart); 
    layout.addView(graphicalView, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
      LinearLayout.LayoutParams.WRAP_CONTENT)); 
    return v; 
} 

차트가 완벽하게 작동합니다. 또한 차트를 비활성화하면 확인란이 나타납니다. 그래서, 무엇이 문제입니까?

답변

1

차트에 약간의 공간을 공유해야한다는 것을 알리기 위해 가중치를 추가해야한다고 생각합니다. 확인란을 포함하는 선형 레이아웃에서 xml이 1의 가중치 특성을 갖도록 업데이트하십시오.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/background_color" 
    android:orientation="vertical" > 

    <!-- layout for chart --> 
<LinearLayout 
    android:id="@+id/linearLayout_chart" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 
</LinearLayout> 

<!-- layout for checkboxes --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:orientation="horizontal" > 

<CheckBox 
    android:id="@+id/checkBox1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:checked="true" 
    android:text="checkBox1" /> 
<CheckBox 
    android:id="@+id/checkBox2" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:checked="true" 
    android:text="checkBox2" /> 
</LinearLayout> 
</LinearLayout> 
+0

예, 방금 같은 방식으로 문제를 풀었습니다 (답변을 입력하는 중이었습니다). 항상 똑같은 ... 나는 약 1-2 시간 동안 해결책을 찾으려고 노력하고있다. 그리고 곧 stackoverflow에 대한 질문을 던지고 나 자신을 위해 그것을 얻었다. 그러나 어쨌든 감사합니다! – Namenlos