我有什么
我有一个TextView,其显示的网址为" https://"前缀:
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="test2"
android:maxLines="1"
android:ellipsize="marquee"
android:textStyle="bold"
android:textSize="16sp"
android:textColor="@color/primary_text"
android:id="@+id/txvNomEntornIversio" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="https://test2.sdasasdasdfasdfasdffasdfasdfasdf.sdffd"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="10dp"
android:textSize="13sp"
android:textStyle="italic"
android:id="@+id/txvUrlEntorn"/>
</LinearLayout>
什么是问题?
执行代码后,android studio预览和设备中的结果是:
我需要什么
我需要显示前缀&#34; https://&#34;最大字母以适应可用空间。
我做了什么
我尝试read documentation(setEllipsize块)并在stackoverflow中搜索,使用此符号搜索某些引用但未找到任何内容。 我也尝试过无效的符号。
任何人都知道它为什么会发生并可以帮助我吗?提前谢谢!
更新布局
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/icon_unchecked"
android:layout_marginRight="10dp"
android:id="@+id/txvIconChecked"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="test2"
android:maxLines="1"
android:ellipsize="marquee"
android:textStyle="bold"
android:textSize="16sp"
android:textColor="@color/primary_text"
android:id="@+id/txvNomEntornIversio" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="https://mydomain.asdfasdasdfasdfasdffasdfasdfasdf.cat"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="10dp"
android:textSize="13sp"
android:textStyle="italic"
android:id="@+id/txvUrlEntorn"/>
</LinearLayout>
</LinearLayout>
更新2
感谢Teiky,我们发现只有在低于API 23的版本中才会出现此问题。这可能是一个错误?
选项(已弃用)Android:SingleLine =&#34; true&#34;似乎在所有版本中都能正常工作!相反,新选项android:MaxLines with android:ellipsize仅适用于23 ...
目前,最可行的选择似乎忽略了已弃用的SingleLine ...
解决方案
最后,正如我在上次更新中所说,我的解决方案是继续使用android:SingleLine = true,即使它被标记为已弃用。
Teikyo秒,他尝试了dipsositiu android 4.4.4并使用MaxLines ellipsize工作得很好......而我,一个设备Lollipop我仍然剪切文字找到符号/ ...
对Teikyo的反应很好,因为它帮助我进一步调查问题。谢谢大家的帮助!
答案 0 :(得分:1)
我尝试了您的代码,并且网址已完全显示。 如果您有足够的宽度来显示完整的URL,也许您应该检查这些参数:
android:layout_width="0dp"
android:layout_weight="1"
xikitidistant更新:
解决方案不是重量和宽度=“0dp”。这是代码改进。我的解决方案在问题中更新。谢谢你的帮助。
答案 1 :(得分:0)
android:maxLines="1"
android:ellipsize="end"