TableLayout的ProgressBar ontop

时间:2013-03-26 21:56:25

标签: android progress-bar visibility android-tablelayout

我正在尝试将我的ProgressBar放在TableLayout的顶部。

代码:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:baselineAligned="false"
    android:orientation="vertical" >

<ProgressBar
    android:id="@+id/bar_Update"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="250dp"
    android:visibility="visible" />

<ScrollView 
    android:id="@+id/ScrollView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">

<TableLayout    
    android:id="@+id/tableLayout1"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:shrinkColumns="*"  
    android:stretchColumns="*"
    android:gravity="center_horizontal"
    android:layout_gravity="top">    

      <TableRow 
          android:id="@+id/RowTitle" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content">

      <TextView
          android:id="@+id/Title"
          android:layout_width="fill_parent"
          android:layout_height="60px"
          android:gravity="center"
          android:text="Unterichtsausfall: \n"
          android:textSize="20dp"
          android:textStyle="bold"
          android:typeface="serif" >
      </TextView>

      <ImageView
          android:id="@+id/imgUpdate"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:adjustViewBounds="false"
          android:baselineAlignBottom="false"
          android:clickable="true"
          android:src="@drawable/refresh" />

    </TableRow>   

</TableLayout>
</ScrollView>

</LinearLayout>

我在我的代码中使用setVisibility(View.VISIBLE)以便在布局顶部显示进度条,但它不起作用。为了显示它,我正在使用setVisibility(View.INVISIBLE)。我究竟做错了什么? 我的目标是从互联网上获取数据。在此期间,Spinner正在展示。一旦获取数据,它就会显示在表格中,并且Spinner消失了。

谢谢!

2 个答案:

答案 0 :(得分:1)

“On Top”和“Above”之间存在细微差别。 “在顶部”通常意味着它会覆盖下面的图形,就像人们通常想要使用ProgressBar一样。

'Above',通常意味着更高的屏幕顶部,以便ScrollView和TableLayout更接近屏幕的底部。

如果您的ProgressBar是“On Top”,那么View.INVISIBLE就可以了。但是,您的ProgressBar位于下方布局的“上方”。因此,根据您实施的方式,您应该将其设置为View.GONE以隐藏它。


如果您要在下方的布局中显示“在顶部”或“结束”的进度条,则必须将顶级布局设为RelativeLayout而不是LinearLayout。< / p>


最后,我不明白出了什么问题。究竟什么不适用于您的布局或代码行为?

答案 1 :(得分:0)

我遇到了这个问题,我的进度条被隐藏在tablelayout下面,我设法纠正它并使其成为最顶层并显示在表格顶部而不会在经过一些试验和错误后被遮挡。

我的基本布局需要重新排列,我将进度条放在外部布局中,将tableLayout放在嵌套布局中。 我的ProgressBar在包含Table的嵌套布局之后也需要排序。

工作时看起来像这样......

HTTP