我在ScrollView中使用TextView但是在长文本中我注意到第一行是隐藏的,我无法向上滚动以查看它,如下面的屏幕截图所示
这是我的布局
<?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>
如何解决这个问题? 提前谢谢。
答案 0 :(得分:1)
您的XML存在很多问题。这是一个快速摘要和一些更正的代码:
android:layout_alignParentTop
元素中有LinearLayout
,但不执行任何操作。这些应该只在RelativeLayout
s android:textSize
应始终使用sp
单位,而不是dp
(有关详情,请参阅Developer's Guide)RelativeLayout
的不必要的android:id="@+id/closeBtn"
,因为它是空的,所以不确定您使用它是什么android:layout_above
中有layout_below
和ScrollView
,因为它不是RelativeLayout
LinearLayout
某个值的android:layout_weight
的任何子视图应该有android:layout_height="0dp"
,因为布局管理器会以这种方式更快,更优化地布局视图。但是,您对该文字的具体问题归因于TextView
中的LinearLayout
和ScrollView
参数。您使用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>
答案 1 :(得分:-1)
我不使用android所以这是一个解决方法,你可以得到一个大量的字符,可以显示而不会有这个问题。然后如果字符串长度大于该数量,只需在字符串的开头添加一个行跳转;
金额= 300;
if string.length > amount then string = "\r\n" + string;
编辑:如果android删除空行,则添加单个字符,如“ - ”,然后行跳转。