Android LinearLayout未显示
我的xml有问题。我有一个线性布局,其中包含一个图表(aChartEngine库),如果我将高度设置为480dp,它将显示图表,如果我将高度设置为wrap_内容,则不会显示任何内容。我觉得父母有问题。这是整个xml文件Android LinearLayout未显示,android,android-layout,Android,Android Layout,我的xml有问题。我有一个线性布局,其中包含一个图表(aChartEngine库),如果我将高度设置为480dp,它将显示图表,如果我将高度设置为wrap_内容,则不会显示任何内容。我觉得父母有问题。这是整个xml文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Sniffer" >
<TabHost
android:id="@+id/tabHost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@color/black" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:orientation="vertical" >
<!-- removed some content here, 2 much space and not relevant -->
</LinearLayout>
<LinearLayout
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:orientation="vertical" >
<View
android:layout_width="1dp"
android:layout_height="30dp">
</View>
<View
style="@style/Divider"
android:background="@color/semi_transparent"/>
</LinearLayout>
<LinearLayout
android:id="@+id/tab3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:orientation="vertical" >
<View
android:layout_width="1dp"
android:layout_height="30dp">
</View>
<View
style="@style/Divider"
android:background="@color/semi_transparent"/>
</LinearLayout>
<LinearLayout
android:id="@+id/tab4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:orientation="vertical" >
<View
android:layout_width="1dp"
android:layout_height="30dp">
</View>
<LinearLayout
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="500dp"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</ScrollView>
</TabHost>
在表4下有一个带图表id的线性布局。这是我放置图表的地方。我尝试使用“权重”属性和0dip,但仍然不起作用,只是在固定高度下
LE:LinearLayout是空的,因为我通过编程向它添加内容
图表的代码段
public void createGraphCPU(List<BasicNameValuePair> values){
mSeries = new CategorySeries("");
mRenderer = new DefaultRenderer();
statisticsTab.removeAllViews();
Collections.shuffle(COLORS_LIST);
for(int i=0;i<values.size();i++){
double value=Double.parseDouble(values.get(i).getValue());
mSeries.add( values.get(i).getName(),value );
SimpleSeriesRenderer renderer = new SimpleSeriesRenderer();
renderer.setColor(COLORS_LIST.get(i%COLORS_LIST.size()));
renderer.setDisplayChartValues(true);
mRenderer.addSeriesRenderer(renderer);
}
mRenderer.setChartTitleTextSize(20);
mRenderer.setChartTitle("CPU Energy Consumption");
mRenderer.setLabelsTextSize(15);
mRenderer.setLegendTextSize(15);
mRenderer.setMargins(new int[] { 20, 15, 15, 0 });
mRenderer.setZoomButtonsVisible(true);
if (mChartView != null) {
mChartView.repaint();
}
else{
mChartView = ChartFactory.getPieChartView(this, mSeries,mRenderer);
statisticsTab.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
}
public void createGraphCPU(列表值){
M系列=新的类别系列(“”);
mRenderer=新的DefaultRenderer();
统计选项卡。移除所有视图();
集合。洗牌(颜色列表);
对于(int i=0;i你说,当你为android:layout\u height
指定固定高度时,你可以看到你的图表;当你使用wrap\u content
时,你看不到你的图表。如果是这样的话,这种行为的原因是你的图表本身没有提供高度——事实上,你指定fill\u parent
作为它的宽度和高度8.因此,如果你的线性布局想要和你的图表一样小(wrap\u content
),而你的图表想要和它周围的线性布局一样大(fill\u parent
),Android根本不会显示你的图表
然后,解决方案可能是更好地问自己想要为图表指定的宽度和高度。id为chart的LinearLayout看起来是空的,因为其中没有任何项目?是的,很抱歉没有指定,我以编程方式在其中添加项目。这只是一个来自某个Cartengine库的图形视图,但问题就在这里s可能与您分配给图表视图的布局参数有关。您可以共享添加图表视图的代码吗?您是否使用LinearLayout。LayoutParams?目前我有三个图表,每个图表位于不同的LinearLayout上。Atm每个LinearLayout都有一个高度,它后面的图表被前一个LinearLayout剪裁。让我尝试设置一个f固定图表本身的高度并查看剪辑是否消失。找不到一种方法来指定图表本身的高度,我必须使用包含它的线性布局的高度,我认为没有其他选择。如果有人使用aChartEngine并知道如何使用,请提供一些见解。也就是说,我如何使用一个高度制作3个线性布局ht为400dp,可以说是一个低于另一个,而不是剪裁。例如,我的第二张图表被剪裁为一半。我尝试将它们包装到一个相对的图表中,并使用下面的布局,但图表仍然被剪裁。如果您想在可滚动视图中查看视图,则需要使用列表视图线性布局不是您的pr的正确解决方案问题。当你使用ListView时,然后为每个列表项应用一个视图高度为400dp
。下面是它的外观:你的问题是你在滚动视图中使用了LinearLayout。这是错误的。只使用ListView。没有LinearLayout。我不能给你更多的帮助。