2014-01-13 48 views
0

我在滾動視圖內使用TextView,但在長文本我注意到第一行是隱藏的,我不能向上滾動以查看它,如下面的屏幕截圖在滾動視圖TextView中的第一行隱藏

enter image description here

這是我的佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:id="@+id/tip_details_ll" 
android:background = "#c8d26a"> 

<LinearLayout 
    android:id="@+id/titleBar" 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:layout_alignParentTop="true" 
    android:orientation="horizontal" 
    android:visibility="gone" 
    > 

    <ImageView 
     android:id="@+id/iconImg" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_gravity="center" 
     android:layout_margin="5dip" 
     android:background="@drawable/ic_launcher" /> 

    <TextView 
     android:id="@+id/titleTxt" 
     android:layout_width="140dp" 
     android:layout_height="40dp" 
     android:gravity="center_vertical" 
     android:text="Healthy Tips" 
     android:textSize="22dip" 
     android:textStyle="bold" 
     android:textColor="#4f4f4f" 
     android:layout_margin="5dip" /> 

    <RelativeLayout 
     android:id="@+id/closeBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:paddingRight="2dip" > 

    </RelativeLayout> 
</LinearLayout> 



<View 
    android:layout_width="fill_parent" 
    android:layout_height="5dip"   
    android:background="@drawable/seperator" > 
</View> 

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="match_parent" 
    android:layout_weight="1" 
    android:layout_height="240dp" 
    android:layout_marginTop="10dp" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_above="@+id/bottomShadow" 
    android:layout_below="@+id/topShadow" > 

    <LinearLayout 
     android:id="@+id/tips" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center" 
     android:layout_marginTop="10dp" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/text" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center_horizontal|center" 
      android:layout_weight="1.33" 
      android:layout_marginTop="10dp" 
      android:gravity="center" 
      android:scrollbars = "vertical" 
      android:maxLines="20" 
      android:textStyle="bold" 
      android:text="In order to succeed, your desire for success should be greater than your fear of failure.In order to succeed, your desire for success should be greater than your fear of failure" 
      android:textColor="#4f4f4f" 
      android:textSize="25sp" /> 

     <TextView 
      android:id="@+id/todayDate" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:layout_marginTop="10dp" 
      android:fontFamily="lucida grande" 
      android:gravity="center" 
      android:text="Mon, 16 Dec 2013" 
      android:textColor="#000000" 
      android:textSize="15sp" 
      android:visibility="gone" /> 
    </LinearLayout> 

</ScrollView> 

<View 
    android:layout_width="fill_parent" 
    android:layout_height="5dip" 
    android:layout_marginTop="10dp"   
    android:background="@drawable/seperator" > 
</View> 


<LinearLayout 
    android:id="@+id/buttons" 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:layout_marginBottom="10dp" 
    android:layout_marginTop="10dp" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:orientation="horizontal" > 

    <RelativeLayout 
     android:id="@+id/previous_tip_rl" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_weight="1" > 

     <ImageButton 
      android:id="@+id/previous_tip" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:layout_marginRight="4dp" 
      android:background="@drawable/previous_button" 
      android:visibility="gone" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/share_rl" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_weight="1" > 

     <ImageButton 
      android:id="@+id/share" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:layout_marginRight="4dp" 
      android:background="@drawable/share_button" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/favorite" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_weight="1" > 

     <ImageButton 
      android:id="@+id/star" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:background="@drawable/star_off" 
      android:layout_marginLeft="4dp" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/next_tip_rl" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_weight="1" > 

     <ImageButton 
      android:id="@+id/next_tip" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:layout_marginRight="4dp" 
      android:background="@drawable/next_button" 
      android:visibility="gone" /> 
    </RelativeLayout> 

</LinearLayout> 

<View 
    android:layout_width="fill_parent" 
    android:layout_height="5dip" 
    android:layout_marginTop="10dp"   
    android:background="@drawable/seperator" > 
</View> 

<Button 
      android:id="@+id/dialog_dismiss" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:layout_below="@+id/RelativeLayout1" 
      android:text="dismiss" 
      android:visibility="gone" 
      android:layout_marginRight="4dp"/> 

</LinearLayout> 

如何解決這個問題? 在此先感謝。

回答

1

您的XML存在很多問題。這裏有一個簡單的總結和一些糾正代碼:一個LinearLayout元素,它什麼都不做內

  • 你有android:layout_alignParentTop。這些只應在兒童RelativeLayout小號
  • android:textSize應該總是使用sp單位,而不是dp(見Developer's Guide瞭解詳細信息)
  • 您似乎是不必要的RelativeLayout稱爲android:id="@+id/closeBtn",不知道你是使用它,因爲什麼它是空的
  • 你有你的ScrollView,這再次,什麼也不做內android:layout_abovelayout_below因爲它不是一個RelativeLayout
  • 任何兒童的意見LinearLayout S其中定義了一個孩子android:layout_weight某些值應該有android:layout_height="0dp",因爲佈局管理器將以這種方式更快更優化地佈置視圖。

但是,你用文字具體問題是由於ScrollView在您TextViewLinearLayout參數。您正在使用fill_parent來表示視圖的高度不正確,您只需要高度與您的內容相匹配。而且你在他們不屬於的地方有利潤和引力。試試這個代碼:

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_marginTop="10dp" 
    android:layout_weight="1" > 

    <LinearLayout 
     android:id="@+id/tips" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:maxLines="20" 
      android:text="your long text" 
      android:textColor="#4f4f4f" 
      android:textSize="25sp" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/todayDate" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:layout_marginTop="10dp" 
      android:fontFamily="lucida grande" 
      android:gravity="center" 
      android:text="Mon, 16 Dec 2013" 
      android:textColor="#000000" 
      android:textSize="15sp" 
      android:visibility="gone" /> 
    </LinearLayout> 
</ScrollView> 
+0

非常感謝,你說得很對。 – Eman87

-1

我不使用android工作,所以這是一個解決辦法,你可以得到大量的字符,可以顯示沒有這個問題。然後如果字符串長度大於該數量,只需在字符串的起始處添加行跳轉;

amount = 300;

if string.length > amount then string = "\r\n" + string; 

編輯:如果android切出空行添加單個字符如' - ',然後行跳。

+1

變通辦法並不總是最佳實踐。 – Phlume

+0

老兄我沒有進入android,我只是想幫助。 –

相關問題