2014-05-06 55 views
0

這是我的佈局的一部分:爲什麼在我的RelativeLayout按鈕被部分隱藏?

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

      <TextView 
       android:id="@+id/name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:text="Large Text" 
       android:textAppearance="@style/LargeText" /> 

      <Button 
       android:id="@+id/editname" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignBaseline="@+id/name" 
       android:layout_alignParentRight="true" 
       android:text="Edit" 
       android:textAppearance="@style/LargeText" /> 
     </RelativeLayout> 

在結果中,你可以看到,

enter image description here

按鈕獲取部分隱藏。

請問我該如何解決?

然而, 這是完整的佈局:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

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

    <!-- Dummy item to prevent AutoCompleteTextView from receiving focus --> 

    <LinearLayout 
     android:layout_width="0px" 
     android:layout_height="0px" 
     android:focusable="true" 
     android:focusableInTouchMode="true" /> 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="xxxxxxxxxxxxxxxxx" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:padding="@dimen/updatetrackerativty_padding" > 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

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

      <TextView 
       android:id="@+id/name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:text="Large Text" 
       android:textAppearance="@style/LargeText" /> 

      <Button 
       android:id="@+id/editname" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignBaseline="@+id/name" 
       android:layout_alignParentRight="true" 
       android:text="Edit" 
       android:textAppearance="@style/LargeText" /> 
     </RelativeLayout> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="@android:color/black" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

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

      <LinearLayout 
       android:id="@+id/phonelayout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:layout_alignParentLeft="true" > 

       <TextView 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Phone Number" 
        android:textAppearance="@style/LargeText" /> 

       <TextView 
        android:id="@+id/phone" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Medium Text" 
        android:textAppearance="@style/SmallText" /> 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/buttonlayout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:layout_alignParentRight="true" 
       android:layout_alignBaseline="@+id/phonelayout"> 

       <Button 
        android:id="@+id/editphone" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:text="Edit" 
        android:textAppearance="@style/LargeText" /> 
      </LinearLayout> 
     </RelativeLayout> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="@android:color/black" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

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

      <TextView 
       android:id="@+id/textView4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Continuous Tracking" 
       android:textAppearance="@style/LargeText" /> 

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

       <CheckBox 
        android:id="@+id/continuousckbx" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:text="Yes" 
        android:textAppearance="@style/SmallText" /> 

       <TextView 
        android:id="@+id/secondstextview" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBaseline="@+id/continuousckbx" 
        android:layout_alignParentRight="true" 
        android:text="seconds" 
        android:textAppearance="@style/SmallText" /> 

       <LinearLayout 
        android:id="@+id/seconds" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_toLeftOf="@+id/secondstextview" 
        android:orientation="vertical" > 

        <EditText 
         android:id="@+id/intervaledittext" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:ems="3" 
         android:nextFocusLeft="@id/intervaledittext" 
         android:nextFocusUp="@id/intervaledittext" 
         android:numeric="integer" > 
        </EditText> 

        <TextView 
         android:id="@+id/thirtyand" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="(30-255)" 
         android:textAppearance="@style/SmallText" /> 
       </LinearLayout> 

       <TextView 
        android:id="@+id/intervaltextview" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBaseline="@+id/continuousckbx" 
        android:layout_alignBottom="@+id/continuousckbx" 
        android:layout_toLeftOf="@+id/seconds" 
        android:text="Interval:" 
        android:textAppearance="@style/SmallText" /> 
      </RelativeLayout> 
     </LinearLayout> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="@android:color/black" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

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

      <TextView 
       android:id="@+id/TextView03" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Record data" 
       android:textAppearance="@style/LargeText" /> 

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

       <CheckBox 
        android:id="@+id/recorddata" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:text="Yes" 
        android:textAppearance="@style/SmallText" /> 
      </RelativeLayout> 
     </LinearLayout> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="@android:color/black" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

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

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="History" 
       android:textAppearance="@style/LargeText" /> 

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

       <Button 
        android:id="@+id/plot" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_toLeftOf="@+id/clear" 
        android:text="Plot" 
        android:textAppearance="@style/LargeText" /> 

       <Button 
        android:id="@+id/clear" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:text="Clear" 
        android:textAppearance="@style/LargeText" /> 
      </LinearLayout> 
     </LinearLayout> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="@android:color/black" /> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/updatetrackerativty_space" 
      android:background="@android:color/transparent" /> 

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

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Status" 
       android:textAppearance="@style/LargeText" /> 

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

       <Button 
        android:id="@+id/activate" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:text="Activate" 
        android:textAppearance="@style/LargeText" /> 

       <TextView 
        android:id="@+id/status" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBaseline="@+id/activate" 
        android:text="Inactive" 
        android:textAppearance="@style/SmallText" 
        android:textStyle="bold" /> 
      </RelativeLayout> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

</ScrollView> 
+0

發表您的完整佈局代碼。您可能已經設置了按鈕的重力。 – GrIsHu

+0

@GrIsHu謝謝GrIsHu,但我沒有設置任何引力:-( –

+0

發佈您的整個佈局文件代碼 – GrIsHu

回答

1

因爲你有你的名字TextView基線對齊你Edit Button,你TextView基線取決於它的內容和高度,所以在這種情況下,您的第一行有較少高度比你的第二,所以它的基線高於第二,因爲這個你的編輯按鈕將對齊上部,它的高度將覆蓋天花板視圖。你可以刪除alignBaseline部分並使用android:layout_centerVertical="true"

+0

謝謝Arash,但AFAIK android:layout_gravity在RelativeLayout中無效... :-( –

+0

@LisaAnne:也許layout_centerVertical做的工作 –

+0

的確的確如此:-)))謝謝! –

1

試試這個。

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

    <TextView 
     android:id="@+id/name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:text="Large Text" 
     android:textAppearance="@style/LargeText" /> 

    <Button 
     android:id="@+id/editname" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:text="Edit" 
     android:textAppearance="@style/LargeText" /> 
</RelativeLayout> 
1

刪除下面行的xml: -

  android:layout_alignBaseline="@+id/name" 
相關問題