首页 > 解决方案 > Horizo​​ntal ScrollView 移除 textView 除非处于纵向模式

问题描述

我有一个水平的 ScrollView,里面嵌套了几个 textView。我正在通过 mysql 数据库填充 textViews,当我将屏幕旋转到横向时,我得到了奇怪的结果,出现了文本,但是在纵向模式下,只出现了一些文本并且水平滚动条消失了。我可以使用一些帮助来解决这个问题。

布局_xml

<LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="horizontal">

                <HorizontalScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="horizontal"
                        android:paddingStart="10dp">

                        <TextView
                            android:id="@+id/tvBlue"
                            android:layout_width="match_parent"
                            android:layout_height="25dp"
                            android:layout_gravity="center_vertical"
                            android:layout_margin="3dp"
                            android:scrollHorizontally="true"

    android:background="@drawable/rounded_corner"
                            android:paddingStart="8dp"
                            android:paddingEnd="8dp"
                            android:text="Blue Package"
                            android:textColor="#FFFFFF" />

                        <TextView
                            android:id="@+id/tvOrange"
                            android:layout_width="match_parent"
                            android:layout_height="25dp"
                            android:layout_gravity="center_vertical"
                            android:layout_margin="3dp"
                            android:scrollHorizontally="true"

    android:background="@drawable/rounded_corner"
                            android:paddingStart="8dp"
                            android:paddingEnd="8dp"
                            android:text="Orange Package"
                            android:textColor="#FFFFFF" />

                        <TextView
                            android:id="@+id/tvOandB"
                            android:layout_width="match_parent"
                            android:layout_height="25dp"
                            android:layout_gravity="center_vertical"
                            android:layout_margin="3dp"
                            android:scrollHorizontally="true"

    android:background="@drawable/rounded_corner"
                            android:paddingStart="8dp"
                            android:paddingEnd="8dp"
                            android:text="Orange and Blue Package"
                            android:textColor="#FFFFFF" />
                    </LinearLayout>
                </HorizontalScrollView>
            </LinearLayout>

Adapter.Java 类

if (slingchannel.getBlue().equals("1")){
    view.tvBlue.setText("Sling Blue Package");
} else if(slingchannel.getBlue().equals("0")){
    view.tvBlue.setVisibility(View.GONE);
}

if (slingchannel.getOrange().equals("1")){
    view.tvOrange.setText("Sling Orange Package");
} else if(slingchannel.getOrange().equals("0")){
    view.tvOrange.setVisibility(View.GONE);
}
if (slingchannel.getOandb().equals("1")){
    view.tvOandB.setText("Sling Orange and Blue Package");
} else if(slingchannel.getOandb().equals("0")){
    view.tvOandB.setVisibility(View.GONE);
}

就像我说的,只出现了一些文本,但是如果我旋转到横向显示它,然后旋转回纵向并且一些文本消失了。当我旋转回纵向模式时,文本消失了。

标签: androidandroid-layouttextviewhorizontalscrollview

解决方案


我通过设置文本让它工作,而不是尝试添加文本,我只是在满足条件时将可见性设置为可见。


推荐阅读