2016-03-01 54 views
0

我已經建立其具有以下格式Twitter和Facebook以下按鈕的混合應用:應該使用android中的什麼佈局來實現下列按鈕?

enter image description here

我想rebuld在Android上的兩個按鈕,但我總是在之間的差距,我總是不得不亂搞dp才能把它們放在一起。

有沒有一種好方法可以讓Android中的按鈕像圖片一樣?

只需要一些建議。

謝謝

+0

@Nant看看我的答案,它將滿足您的需求 – Tony

+0

@Tony我會在今天晚上看。非常感謝,謝謝 – Nant

回答

1

一個可能的解決方案是使用一個TextView,而不是按鈕,設置背景爲XML選擇器(你可以創建一個矩形,只有在一個側面圓潤的邊角,如果這就是你想要的) 。在文字瀏覽中將邊距設置爲零,以便它們觸碰。

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

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/your_drawable_here" 
     android:clickable="true" 
     android:gravity="center" 
     android:paddingBottom="8dp" 
     android:paddingTop="8dp" 
     android:text="Left button" /> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/your_drawable_here" 
     android:clickable="true" 
     android:gravity="center" 
     android:paddingBottom="8dp" 
     android:paddingTop="8dp" 
     android:text="Right button" /> 

</LinearLayout> 
+0

我會使用圖像視圖(它們是圖像),但這是答案 - 如果您不希望它看起來像按鈕,請不要使用按鈕。 –

+0

@Francesc我怎樣才能讓textview從左到右變小? – Nant

+1

您可以添加左/右邊距。在左邊的文字視圖中添加左邊距,在右邊的文字視圖中添加右邊距。或者在文本視圖的容器中添加填充(線性佈局)。 – Francesc

1

這裏是背景繪製

 <?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#fff"/> 

    <corners 
     android:bottomLeftRadius="3dp" 
     android:bottomRightRadius="3dp" 
     android:topLeftRadius="3dp" 
     android:topRightRadius="3dp"/> 

    </shape> 

    <?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#199fd4"/> 

    <corners 
     android:bottomRightRadius="3dp" 
     android:topRightRadius="3dp"/> 

</shape> 

    <?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#1f19d4"/> 

    <corners 
     android:bottomLeftRadius="3dp" 
     android:bottomRightRadius="0dp" 
     android:topLeftRadius="3dp" 
     android:topRightRadius="0dp"/> 

</shape> 

則需要創建線性佈局和將兩個按鈕在它的內部,用50%爲每一個可以設置此使用重量屬性

佈局代碼

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="40dp" 
    android:layout_marginEnd="20dp" 
    android:layout_marginStart="20dp" 
    android:background="@drawable/roundedallsides_white" 
    android:weightSum="2"> 

    <RelativeLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:background="@drawable/rounded_left"></RelativeLayout> 

    <RelativeLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:background="@drawable/rounded_right"></RelativeLayout> 
</LinearLayout> 

並且在這兩個相對佈局中您可以放置任何你想要的東西,然後設置上點擊聆聽者

相關問題