2015-06-21 48 views
0

我有一個線性佈局android的文本。在該文本下方,我應該在按鈕的末尾用箭頭將兩個按鈕完全保留一半。我以各種方式嘗試這種方式,但我無法將箭頭正確放置到兩個角落。在這方面請幫助我。如何在android中的佈局中添加一個文本與正好一半的圖像?

enter image description here

我的代碼:

下面是我的代碼。因爲我無法看到右側的箭頭。請幫我把箭頭準確地放在角落裏。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:background="#FFFFFF" 
    android:layout_height="120dp"> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#FFFFFF" 
     android:padding="10dp"> 
     <TextView 
      android:id="@+id/title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Description" 
      android:textColor="#101010" 
      android:fontFamily="sans-serif-condensed" 
      android:textSize="20sp" /> 
    </LinearLayout> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#FFF" 
     android:padding="10dp" 
     android:weightSum="1"> 
     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="#FFFFFF" 
      android:layout_weight="0.5"> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="text1" 
       android:paddingTop="15dp" 
       android:textSize="24sp" 
       android:textColor="#0096FF" 
       android:fontFamily="sans-serif-light" 
       android:id="@+id/text1" /> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/arrow" /> 
     </LinearLayout> 
     <LinearLayout 
      android:orientation="horizontal" 
      android:background="#FFFFFF" 
      android:id="@+id/linearLayout1" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent"> 
      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="text2" 
       android:paddingTop="15dp" 
       android:textSize="24sp" 
       android:textColor="#0096FF" 
       android:fontFamily="sans-serif-light" 
       android:id="@+id/text2" /> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/arrow" /> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

回答

1

你需要以同樣大小Views使用weightsLinearLayour

爲了達到此目的,您必須確保您添加android:layout_width="0dp"(或者如果LinearLayout設置爲垂直方向,則需要layout_height),以使weight優先。

例如:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

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

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Planting trees is good and useful because when a tree is planted, Chuck Norris round-house kicks himself in the face whilst dividing by Zero." /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <Button 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Button 1" /> 

     <Button 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Button 2" /> 

    </LinearLayout> 

</LinearLayout> 

上述XML產生以下:

enter image description here

爲了確保箭頭是在精確的角,必須重寫系統Button在你的styles xml,並在那裏爲相關的角落指定0填充。

例如:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="android:buttonStyle">@style/MyButton</item> 
</style> 

<style name="MyButton" parent="Base.Widget.AppCompat.Button"> 
    <item name="android:paddingRight">0dp</item> 
</style> 

要對齊一個ButtonTextView向左內的文本,只需將Button或`的TextView內添加android:gravity="left|center_vertical"。例如:

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="lol" 
    android:gravity="left|center_vertical"/> 
+0

是你給出的解決方案是正確的,但我在按鈕上方有一些文本,並且按鈕文本應該與上面的文本對齊匹配。我們如何實現這一目標? – Amrutha

+0

我不確定你的意思。你能詳細說明嗎? – Subby

+0

我的意思是上面的兩個按鈕,我顯示文字說:「種植樹木是好的和有用的.....」。現在按鈕文字應從種植字母P下方開始 – Amrutha

相關問題