2015-11-15 66 views
0

切斷我有一個佈局是這樣的:的Android RelativeLayout的底部

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/screen01_bg" 
    android:gravity="center_horizontal"> 

    <RelativeLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#7fb9e5" 
     android:layout_gravity="center_horizontal" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dip"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="Login with an existing account" 
      android:id="@+id/textView5" 
      android:layout_gravity="center" 
      android:textColor="#FFF" 
      android:textStyle="bold" 
      android:layout_centerInParent="true"/> 
    </RelativeLayout > 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="20dp"> 
     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 
     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="2" > 

      <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/facebook" 
       android:src="@drawable/facebook" 
       android:adjustViewBounds="true" 
       android:cropToPadding="false" 
       android:background="#00000000" 
       android:scaleType="fitXY"/> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 
    </LinearLayout> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="20dp"> 
     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 
     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="2" > 

      <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/twitter" 
       android:src="@drawable/twitter" 
       android:adjustViewBounds="true" 
       android:cropToPadding="false" 
       android:background="#00000000" 
       android:scaleType="fitXY"/> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 
    </LinearLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:nestedScrollingEnabled="false" 
     android:gravity="fill_horizontal|top|center_vertical|fill" 
     android:paddingTop="5dp"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:text="or" 
      android:id="@+id/textView9" 
      android:singleLine="true" 
      android:textStyle="italic" 
      android:layout_centerInParent="true" 
      android:textColor="#FFF" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="Login with an email and password" 
      android:id="@+id/textView10" 
      android:singleLine="true" 
      android:layout_below="@+id/textView9" 
      android:textStyle="bold" 
      android:layout_centerInParent="true" 
      android:textColor="#FFF" /> 
     <EditText 
      android:id="@+id/email" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/textView10" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="26dp" 
      android:inputType="textEmailAddress" 
      android:hint="Email" 
      android:gravity="center_horizontal" 
      android:ems="10" 
      android:background="@drawable/rect" 
      android:padding="10px"> 
      <requestFocus /> 
     </EditText> 
     <EditText 
      android:id="@+id/password" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/email" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="26dp" 
      android:ems="10" 
      android:hint="Password" 
      android:gravity="center_horizontal" 
      android:background="@drawable/rect" 
      android:inputType="textPassword" 
      android:padding="10px"> 
     </EditText> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Login" 
      android:id="@+id/login_button" 
      android:layout_below="@+id/password" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="26dp" 
      android:background="@drawable/login_button" 
      > 
     </Button> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:text="@string/create_new_account" 
      android:id="@+id/create_account" 
      android:layout_below="@+id/login_button" 
      android:singleLine="true" 
      android:textStyle="italic" 
      android:layout_centerHorizontal="true" 
      android:textColor="#FFF" /> 
    </RelativeLayout> 

</LinearLayout> 

它顯示Android Studio中的預覽罰款,但是當我運行它,含量以切斷底部。 這裏是截圖: here

我不知道可能的原因是什麼。 的login_button需要佈局在這裏:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="#7fb9e5" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <corners android:radius="0dp" /> 
    <stroke android:width="5px" android:color="#FFF" /> 
</shape> 

只是一個簡單的按鈕,邊框。 那麼什麼是更好的方法來做到這一點或如何解決這個問題?

回答

0
  1. 不能做到這一點的形狀XML

    android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
    

做這樣

<solid android:color="#7fb9e5"/> 
  • 減少layout_marginBottom26dp5dp對於login_buttonemail

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Login" 
        android:id="@+id/login_button" 
        android:layout_below="@+id/password" 
        android:layout_centerHorizontal="true" 
        android:layout_marginBottom="5dp" 
        android:background="@drawable/login_button"/> 
    
  • +0

    能否簡單介紹一下爲什麼它沒有顯示,如果把26dp?現在我更改爲5dp,最後一個TextView create_account未顯示。 –

    1

    使用此佈局:

    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:orientation="vertical" android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:background="#ee3" 
        android:gravity="center_horizontal"> 
    
        <RelativeLayout 
         android:orientation="horizontal" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:background="#7fb9e5" 
         android:layout_gravity="center_horizontal" 
         android:paddingTop="10dp" 
         android:paddingBottom="10dip"> 
    
         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textAppearance="?android:attr/textAppearanceLarge" 
          android:text="Login with an existing account" 
          android:id="@+id/textView5" 
          android:layout_gravity="center" 
          android:textColor="#FFF" 
          android:textStyle="bold" 
          android:layout_centerInParent="true"/> 
        </RelativeLayout > 
    
        <LinearLayout 
         android:orientation="horizontal" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:paddingTop="20dp"> 
         <LinearLayout 
          android:layout_width="0dip" 
          android:layout_height="wrap_content" 
          android:layout_weight="1" /> 
         <LinearLayout 
          android:layout_width="0dip" 
          android:layout_height="wrap_content" 
          android:layout_weight="2" > 
    
          <ImageButton 
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content" 
           android:id="@+id/facebook" 
           android:src="@drawable/facebook" 
           android:adjustViewBounds="true" 
           android:cropToPadding="false" 
           android:background="#00000000" 
           android:scaleType="fitXY"/> 
         </LinearLayout> 
         <LinearLayout 
          android:layout_width="0dip" 
          android:layout_height="wrap_content" 
          android:layout_weight="1" /> 
        </LinearLayout> 
        <LinearLayout 
         android:orientation="horizontal" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:paddingTop="20dp"> 
         <LinearLayout 
          android:layout_width="0dip" 
          android:layout_height="wrap_content" 
          android:layout_weight="1" /> 
         <LinearLayout 
          android:layout_width="0dip" 
          android:layout_height="wrap_content" 
          android:layout_weight="2" > 
    
          <ImageButton 
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content" 
           android:id="@+id/twitter" 
           android:src="@drawable/ic_fb_icon" 
           android:adjustViewBounds="true" 
           android:cropToPadding="false" 
           android:background="#00000000" 
           android:scaleType="fitXY"/> 
         </LinearLayout> 
         <LinearLayout 
          android:layout_width="0dip" 
          android:layout_height="wrap_content" 
          android:layout_weight="1" /> 
        </LinearLayout> 
    
        <LinearLayout 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:orientation="vertical" 
    android:gravity="center_horizontal" 
         android:paddingTop="5dp"> 
    
         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:text="or" 
          android:id="@+id/textView9" 
          android:singleLine="true" 
          android:textStyle="italic" 
          android:layout_centerInParent="true" 
          android:textColor="#FFF" /> 
    
         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textAppearance="?android:attr/textAppearanceLarge" 
          android:text="Login with an email and password" 
          android:id="@+id/textView10" 
          android:singleLine="true" 
          android:layout_below="@+id/textView9" 
          android:textStyle="bold" 
          android:layout_centerInParent="true" 
          android:textColor="#FFF" /> 
         <EditText 
          android:id="@+id/email" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/textView10" 
          android:layout_centerHorizontal="true" 
          android:layout_marginBottom="26dp" 
          android:inputType="textEmailAddress" 
          android:hint="Email" 
          android:gravity="center_horizontal" 
          android:ems="10" 
          android:background="#333" 
          android:padding="10px"> 
          <requestFocus /> 
         </EditText> 
         <EditText 
          android:id="@+id/password" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/email" 
          android:layout_centerHorizontal="true" 
          android:layout_marginBottom="26dp" 
          android:ems="10" 
          android:hint="Password" 
          android:gravity="center_horizontal" 
          android:background="#333" 
          android:inputType="textPassword" 
          android:padding="10px"> 
         </EditText> 
    
         <Button 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Login" 
          android:id="@+id/login_button" 
          android:layout_below="@+id/password" 
          android:layout_centerHorizontal="true" 
          android:layout_marginBottom="26dp" 
          android:background="@drawable/sobuttonbg" 
          /> 
    
    
         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:text="create_new_account" 
          android:id="@+id/create_account" 
          android:layout_below="@+id/login_button" 
          android:singleLine="true" 
          android:textStyle="italic" 
          android:layout_centerHorizontal="true" 
          android:textColor="#FFF" /> 
        </LinearLayout> 
    </LinearLayout> 
    

    **注:請改變你的圖標也會相應

    +0

    這是我以前做的,我認爲沒有其他選擇 –

    +0

    這顯示在我的系統確切的用戶界面,請使用此 – theLazyFinder

    1

    您需要指定minHeightminWidth屬性,並將它們設置爲0dp並將padding屬性設置爲您需要的邊框和按鈕文本之間的間距所需的任何值。

    對我來說,以下工作:

    按鈕背景繪製對象:

    <?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
        <item android:state_pressed="true"> 
         <shape android:shape="rectangle"> 
          <solid android:color="@color/pressedButtonBlue" /> 
          <corners android:radius="36dp"/> 
         </shape> 
        </item> 
        <item android:state_enabled="false"> 
         <shape android:shape="rectangle"> 
          <solid android:color="@color/disabledButtonBlue" /> 
          <corners android:radius="36dp"/> 
         </shape> 
        </item> 
        <item android:state_enabled="true"> 
         <shape android:shape="rectangle"> 
          <solid android:color="@color/defaultButtonBlue" /> 
          <corners android:radius="36dp"/> 
         </shape> 
        </item> 
        <item android:state_focused="true"> 
         <shape android:shape="rectangle"> 
          <solid android:color="@color/pressedButtonBlue" /> 
          <corners android:radius="36dp"/> 
         </shape> 
        </item> 
        <item> 
         <shape android:shape="rectangle"> 
          <solid android:color="@color/defaultButtonBlue" /> 
          <corners android:radius="36dp"/> 
         </shape> 
        </item> 
    </selector> 
    

    佈局:

    <RelativeLayout 
        android:id="@+id/new_message_wrapper" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:padding="5dp"> 
        <Button 
         android:id="@+id/cancel_new_message" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignParentEnd="true" 
         android:gravity="center" 
         android:layout_centerVertical="true" 
         android:minHeight="0dp" 
         android:minWidth="0dp" 
         android:paddingTop="5dp" 
         android:paddingBottom="5dp" 
         android:paddingRight="15dp" 
         android:paddingLeft="15dp" 
         android:background="@drawable/button_bg" 
         android:text="Cancel" 
         android:textAllCaps="false" 
         android:textColor="@android:color/white" 
         android:textSize="14sp" /> 
    </RelativeLayout> 
    
    相關問題