线性布局中的Textview显示在错误的位置

时间:2014-07-18 09:15:20

标签: android layout

我有下面的布局。我希望将Textviews的线性布局显示在PieChart下面。然而,它出现在顶部和较小的屏幕上,饼图覆盖在文本上。

<?xml version="1.0" encoding="utf-8"?>
<uk.co.senab.actionbarpulltorefresh.extras.actionbarsherlock.PullToRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/catexprpt_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >


<com.echo.holographlibrary.PieGraph
    android:id="@+id/piegraph"
    android:paddingTop="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<LinearLayout
    android:id="@+id/tableRowN"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="15dp"
    android:layout_below="@+id/piegraph"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/titleN"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/rounded_edges"
        android:text="@string/note"
        android:textColor="#ffffff"
        android:textSize="13sp"
        android:typeface="serif" />

    <TextView
        android:id="@+id/notice3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:typeface="serif" />
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

您可以尝试将PieGraph作为LinearLayout的孩子。

我不确定ActionBarSherlock's PullToRefreshLayout但Android实施SwipeRefreshLayout仅支持一个直接子视图。

编辑: 我建议将此类内容作为Refresh布局的唯一子项:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

       <com.echo.holographlibrary.PieGraph
        android:id="@+id/piegraph"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginRight="6dip" />

    <TextView
        android:id="@+id/titleN"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/piegraph"
        android:background="@drawable/rounded_edges"
        android:text="@string/note"
        android:textColor="#ffffff"
        android:textSize="13sp"
        android:typeface="serif" />

    <TextView
        android:id="@+id/notice3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/piegraph"
        android:textColor="#000000"
        android:typeface="serif" />

</RelativeLayout>

有关布局优化的更多信息here.

答案 1 :(得分:0)

由于@ LordRaydenMK,我设法解决了这个问题:

<?xml version="1.0" encoding="utf-8"?>
<uk.co.senab.actionbarpulltorefresh.extras.actionbarsherlock.PullToRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/catexprpt_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
    android:id="@+id/tableRowM"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

   <com.echo.holographlibrary.PieGraph
       android:id="@+id/piegraph"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_above="@+id/tableRowN"
       android:paddingBottom="20dp" />

   <LinearLayout
    android:id="@+id/tableRowN"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true">


   <TextView
       android:id="@+id/titleN"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" 
       android:background="@drawable/rounded_edges"
       android:text="@string/note"
       android:textColor="#ffffff"
       android:textSize="13sp"
       android:typeface="serif" />


   <TextView
        android:id="@+id/notice3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:text="Heloooooo Mr. Fish"
        android:typeface="serif" />

 </LinearLayout>