2017-03-07 126 views
0

我有一個工具欄,左側有一個圖標,右側有一個圖標。在中心將是一個文本視圖?以下是我目前的佈局設置。如何使圖像按鈕顯示和工具欄的文本視圖中心?

現在的問題是imagebutton圖像沒有出現只是一個小的銀色矩形出現和文本視圖單詞對齊而不是中心。另一件事情是如何控制圖標文本視圖的高度,使它們看起來相似?右側的最後一個圖標也不會出現。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/bottomToolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:background="@color/primary" 
    android:minHeight="@android:dimen/notification_large_icon_height"> 

    <ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/pinButton" 
    android:layout_centerHorizontal="true" 
    android:layout_gravity="left" 
    android:drawable="@drawable/basgreen" 
    android:clickable="true"/> 

    <TextView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:text="TEST" 
     android:background="@color/primary" 
     android:textColor="#ffffff" 
     android:layout_gravity="center" 
     android:padding="10dip"/> 


    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/pinButton3" 
     android:layout_centerHorizontal="true" 
     android:layout_gravity="right" 
     android:drawable="@drawable/basgreen" 
     android:clickable="true"/> 

</android.support.v7.widget.Toolbar> 

以下是迄今爲止輸出的最終截圖。

enter image description here

回答

1

試試這個,使用src,不使用drawable

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/bottomToolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:background="@color/primary" 
     android:minHeight="@android:dimen/notification_large_icon_height"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <ImageButton 
       android:id="@+id/pinButton" 
       android:layout_width="24dp" 
       android:layout_height="24dp" 
       android:layout_alignParentLeft="true" 
       android:layout_gravity="left" 
       android:clickable="true" 
android:background="@null" 
android:scaleType="centerInside" 
       android:src="@drawable/basgreen" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:background="@color/primary" 
       android:padding="10dip" 
       android:text="TEST" 
       android:textColor="#ffffff" 
       android:textSize="20sp" /> 


      <ImageButton 
       android:id="@+id/pinButton3" 
       android:layout_width="24dp" 
       android:layout_height="24dp" 
       android:layout_alignParentRight="true" 
       android:layout_centerHorizontal="true" 
       android:layout_gravity="right" 
       android:clickable="true" 
android:background="@null" 
android:scaleType="centerInside" 
       android:src="@drawable/basgreen" /> 

     </RelativeLayout> 

    </android.support.v7.widget.Toolbar> 
+0

它就像一個圖像是局部的,另一個是如此之大,texview丟失了。 – user5313398

+0

我必須設置ImageButton的寬度和高度,以便它保持機智嗎? – user5313398

+0

如果我用30dp作爲寬度和高度是合理的還是太小,你需要設置'layout_width'和'layout_height'以適應'ImageButton' –

1

嘗試增加重量

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/bottomToolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:background="@color/primary" 
    android:minHeight="@android:dimen/notification_large_icon_height"> 
<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:weightSum="3" 
      android:orientation="horizontal" > 
    <ImageButton 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:id="@+id/pinButton" 
    android:layout_weight="1" 
    android:layout_centerHorizontal="true" 
    android:android:gravity="left" 
    android:src="@drawable/basgreen" 
    android:clickable="true"/> 

    <TextView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:textSize="20sp" 
     android:text="TEST" 
     android:layout_weight="1" 
     android:background="@color/primary" 
     android:textColor="#ffffff" 
     android:android:gravity="center" 
     android:padding="10dip"/> 


    <ImageButton 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:id="@+id/pinButton3" 
     android:layout_weight="1" 
     android:layout_centerHorizontal="true" 
     android:gravity="right" 
     android:src="@drawable/basgreen" 
     android:clickable="true"/> 
</LinearLayout> 
</android.support.v7.widget.Toolbar> 

這是因爲你正在使用TextView的寬度match_parent

+0

還是一樣的圖標ima ge沒有出現,文字仍然左對齊 – user5313398

+0

是的,我嘗試了確切的代碼,它仍然是銀框,就像我在我的問題中的屏幕截圖 – user5313398

+0

Post your basgreen did you try gravity而不是layout_gravity –

相關問題