android - Horizontal 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);
}
就像我说的,只出现了一些文本,但是如果我旋转到横向显示它,然后旋转回纵向并且一些文本消失了。当我旋转回纵向模式时,文本消失了。
解决方案
我通过设置文本让它工作,而不是尝试添加文本,我只是在满足条件时将可见性设置为可见。
推荐阅读
- sql - 组中最大和第二大值之间的SQL差异?
- html - Firebase:将 PDF 上传到 firebase 存储,并使用 html 在网站的 Firebase 数据库中存储 pdf 文件的链接
- java - Swagger Maven 插件不生成操作和模型
- security - KeyCloak resource_access 包含多个资源
- php - 如何在存储在 php 文件中的多个 curl api 调用中设置退避?
- html - 在单个容器中创建具有两个部分的网格
- r - 通过改变 R 中的位置来拆分字符列
- python - 如何使用python在电报机器人中显示数据帧表
- c++ - 对于没有空格的输入,C++ getline() 函数出现故障
- asp.net-core - 数组属性的 swagger ui 中的显示格式