【问题标题】:adjusting height properties of scrollview within linear layout在线性布局中调整滚动视图的高度属性
【发布时间】:2015-06-23 23:41:28
【问题描述】:

我的列表视图中有一个项目的布局。我的问题是滚动视图。我存储在里面的 cmets textview 的长度可以从 2 个字到 255 个字符不等。这在我的列表视图中产生了一个问题,因为当文本很少时,它与当前设置留下了巨大的差距。我不想摆脱权重系统,因为它对我的布局中的所有其他项目都非常有帮助,但是我不知道如何在这里使用它,以便滚动视图的高度围绕内容而不是' t 占用更多空间而不是必要的。我已经尝试为我的滚动视图设置一个固定的高度,并摆脱它的权重,并使用换行内容,但是当有大量文本时,换行内容不起作用。总而言之,当文本很少时,我会留下巨大的空白,当文本很多时,如果我使用换行内容,它将填满整个屏幕并破坏使用滚动视图以节省空间的全部意义。

<?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="220dp"
android:orientation="vertical"
android:weightSum="250">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="20"
    android:orientation="horizontal"
    android:weightSum="100">


    <TextView
        android:layout_width="0dp"
    android:id="@+id/leaguetxt"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="50"
        android:gravity="center"
        android:text="English Premier League"
        android:textColor="#067103"
        android:textStyle="bold" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/datetxt"
        android:layout_gravity="center"
        android:layout_weight="50"
        android:gravity="center"
        android:text="BET UNTIL : 23/05/2015 15:00 GMT"
        android:textColor="#067103"
        android:textSize="12sp"
        android:textStyle="italic" />


</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="35">

    <TextView
        android:id="@+id/teamstxt"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:gravity="center_horizontal"
        android:text="Sevilla FC - FC Barcelona"
        android:textColor="#067103"
        android:textSize="23sp"
        android:textStyle="bold" />

</LinearLayout>



<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="40"
    android:orientation="horizontal">
    <!-- Product id (pid) - will be HIDDEN - used to pass to other activity -->


    <!-- Name Label -->
    <TextView
        android:layout_width="0dp"
        android:id="@+id/bettxt"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:layout_weight="30"
        android:gravity="center"
        android:textSize="19sp"
        android:text="FC Barcelona Win and BTTS"
        android:textColor="#067103"
        android:textStyle="" />





</LinearLayout>


<LinearLayout
    android:layout_width="fill_parent"
    android:layout_weight="20"
    android:weightSum="100"
    android:orientation="horizontal"
    android:layout_height="0dp">

    <TextView
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:text="DIFFICULTY : "
        android:layout_gravity="center"
        android:gravity="right"
        android:textColor="#067103"
        android:textStyle="italic"
        android:layout_weight="50"/>
    <TextView
        android:id="@+id/difficultytxt"
        android:layout_weight="50"
        android:textStyle="bold"
        android:layout_gravity="center"
        android:gravity="left"
        android:textColor="#067103"
        android:text="MEDIUM RISK"
        android:layout_width="0dp"
        android:layout_height="fill_parent" />
</LinearLayout>
<ScrollView
    android:layout_width="fill_parent"
    android:layout_weight="90"
    android:layout_height="0dp">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:layout_width="fill_parent"
        android:id="@+id/commenttxt"
        android:layout_height="fill_parent"
        android:textColor="#067103"
        android:text = ""/>
</LinearLayout>

</ScrollView>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_weight="50"
    android:weightSum="100"
    android:orientation="horizontal"
    android:layout_height="0dp">
    <TextView
        android:layout_width="0dp"
        android:layout_weight="40"
        android:layout_height="fill_parent" />
    <Button
        android:id="@+id/oddsbutton"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="20"
        android:layout_gravity="center"
        android:gravity="center"
        android:onClick="SelectBet"
        android:text="3.60"
        android:textColor="#067103"
        android:textSize="18sp" />
</LinearLayout>

【问题讨论】:

    标签: android xml listview scrollview android-linearlayout


    【解决方案1】:

    您不应该在列表项中使用 ScrollView。滚动列表时会导致故障,因为您将同时滚动列表和项目的滚动视图。它还会导致计算滚动视图高度的问题,例如您似乎遇到的问题。

    我认为你应该让你评论块来包装内容并修改你的布局以摆脱你的布局重量。如果您不想总是显示长 cmets,您可以将它们缩小到一定长度并添加一个按钮来显示/隐藏完整评论。

    【讨论】:

      猜你喜欢
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多