2015-08-27 65 views
0

我想使用視圖元素使水平分隔線。我想下面的代碼,但問題是分頻器總是非常小的寬度,儘管視圖的寬度,如圖所示,設置match_parent 請讓emknow如何解決它。如何使水平分隔線使用視圖元素

更新

的問題是,在視圖總是一樣寬的ImageView的?? !!我不知道爲什麼?任何解釋?

佈局

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

<TableLayout 
    android:id="@+id/tl_MainTable" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:orientation="vertical"> 
    <TableRow 
     android:id="@+id/tr_Logo" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:weightSum="3"> 
     <ImageView 
      android:id="@+id/iv_Logo" 
      android:layout_height="wrap_content" 
      android:src="@drawable/fr" 
      android:adjustViewBounds="true" 
      android:layout_weight="0" 
      android:contentDescription="@null"/> 
     <TextView 
      android:id="@+id/tv_Title" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical|center_horizontal" 
      android:gravity="center_horizontal" 
      android:layout_weight="3" 
      android:text="@string/str_Disc_Neigh_Device"/> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tr_Divider" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 
     <View 
      android:id="@+id/v_Divider" 
      android:layout_width="match_parent" 
      android:layout_height="3dp" 
      android:background="#90909090"/> 
    </TableRow> 
</TableLayout> 

+0

嘗試使寬度爲1或2的dp。 – jrsall92

+0

@ jrsall92我試過但沒有解決它 – rmaik

+0

表格佈局是有其默認分隔符android:showDividers =「yourvalue」使用它代替 –

回答

1

這是我做我自己的應用程序,但以線性佈局,但你可以給它嘗試:

<View android:layout_width="fill_parent" android:layout_height="1dp" android:id="@+id/separator1" android:visibility="visible" android:background="#00000000" android:layout_gravity="center_horizontal"/>

變化background根據您的喜好

+0

我試過了,不幸的是它仍然無法工作。問題是,View總是和ImageView一樣寬!!我不知道爲什麼?任何解釋? – rmaik

+0

@rmaik,因爲您使用相對佈局。事情將會是相對的。除非你真的需要相對佈局,否則請嘗試線性佈局。 – jrsall92

+0

但我沒有指定視圖應該是相對於imageView?據我所知,要使元素相對於彼此,你必須明確地指定它像android一樣somrthing:layout_toEndOf – rmaik

0

,你想改變你的第二個的TableRow到的LinearLayout

<LinearLayout 
     android:id="@+id/tr_Divider" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 
     <View 
      android:id="@+id/v_Divider" 
      android:layout_width="match_parent" 
      android:layout_height="3dp" 
      android:background="#902631" 
      android:layout_span="2" /> 
    </LinearLayout> 

改變視圖背景顏色。

+0

謝謝,但是你能否在上面的更新部分向我解釋我的問題?再次感謝你 – rmaik

+1

@rmaik,TableRow中的Chailds就像表格中的Columns或Cells一樣,每個單元格將根據TableLayout中單元格佔用的最大寬度佔用寬度。所以如果你的圖像佔用了你屏幕寬度的10%,並且如果它是你的TableLayout的最大值,那麼所有的第一個子圖像也佔用10%的寬度。因爲iv_Logo和v_Divider位於TableLayout的同一列。 –

0

表格佈局的默認分隔線android:showDividers="yourvalue"您可以使用它。 也可以通過使用 android:dividerPadding="valueindp"

相關問題