无法设置单个字符textview的宽度

时间:2017-08-26 05:39:57

标签: android android-layout android-view textview

我有一个自定义textview元素,其中包含一个元素:

<com.blah.PinView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="25dp"
android:layout_height="15dp"
android:text="•"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="30sp" />

我动态地将这些添加到LinearLayout,并且条目和动作由LayoutAnimator设置动画。 TextView的宽度完全由字符(子弹较小,其他字符较大)决定,如下所示:

[•][•][•][ 5 ]

但我希望任何角色的宽度都是相同的:

[ • ][ • ][ • ][ 5 ]

这里有什么问题?

4 个答案:

答案 0 :(得分:0)

试试这个;

<com.blah.PinView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="•"
     android:gravity="center"
     android:textColor="@android:color/white"
     android:textSize="30sp" />

并参考此链接;

https://github.com/DavidPizarro/PinView

答案 1 :(得分:0)

填充将起作用,因为这就是使用填充的原因。
把这两行。

android:paddingStart="3dp"
android:paddingEnd="3dp"

或者

android:paddingRight="3dp"
android:paddingLeft="3dp"

您可以根据需要调整填充大小。

答案 2 :(得分:0)

填充用于从窗口小部件中定义窗口小部件的大小。因此,为每个人或容器中的所有人添加填充。请尝试以下方法:

android:paddingRight="4dp"
android:paddingLeft="4dp"

答案 3 :(得分:0)

您可以使用ScaleXSpan来完成所需的操作。