2014-05-11 76 views
0

澄清我的問題: 我有一個表格佈局,其中包含一些表格。每個表格行只有一個文本視圖。Android:如何以編程方式設置一個表格背景的寬度

我想要做的是將表格行爲的背景作爲特定表格的進度條。是否有任何方法可以將進度條本質作爲一個表格的背景?

+0

您可以擴展ProgressBar類以在其前面添加文本。這是一個[示例](http://weavora.com/blog/2012/02/23/android-progressbar-with-text/)只需將此視圖放置在TableRow中並根據需要進行調整即可。 – Garret

+0

如果您不想使用ProgressBar,則可以使用ImageView以編程方式將寬度設置爲單元格的背景。 [這個例子](http://stackoverflow.com/questions/4811905/android-how-to-programmatically-set-width-of-imageview-inside-tablerow?rq=1)。 – Garret

回答

0

兩個選項浮現在腦海中:

  1. 您可以擴展ProgressBar類以在其前面添加文本。這裏是一個example.只需將此視圖放置在TableRow中並根據需要進行調整。

  2. 您可以使用ImageView以編程方式將寬度設置爲單元的背景。這here的例子。

我想先嚐試#2,因爲它似乎是最直接的,沒有額外的類。

+0

謝謝,選項1最終成爲更好的選擇,哈哈。出於某種原因,我找不出選項2。 – NeoMime

0

對於FrameView,您可以有兩個視圖,第一個視圖用作背景,第二個視圖用透明背景繪製。

例如,這裏有從相機預覽由夾層,一個半透明層(最初不可見的),和相對佈局,其子女繪製在上面:

<FrameLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <SurfaceView 
     android:id="@+id/camera_preview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_centerInParent="true" /> 

    <View 
     android:id="@+id/transparency" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#80000000" 
     android:visibility="invisible" 
     /> 
    <RelativeLayout 
     android:id="@+id/ontop" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     > 
     ... 
    </RelativeLayout> 
</FrameLayout> 
相關問題