当内容无法容纳时,如何创建默认形状为正方形,高度可自动调整的TextView?

留学生

我想创建一个默认情况下为正方形的自定义TextView,但是如果文本无法容纳,则高度会自动增加以容纳内容。

我尝试将高度设置为wrap_content并覆盖onMeasure()这样的高度

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int newHeight = heightMeasureSpec > widthMeasureSpec ? heightMeasureSpec : widthMeasureSpec;
    super.onMeasure(widthMeasureSpec, newHeight);
}

但这没有用。

当内容较少时,就可以了。 内容较小时的SquareView


但是,当内容更多时,高度应该扩大,但事实并非如此。大量文字被删去 在此处输入图片说明

塔拉斯·帕申科(Taras Parshenko)

您可以setMinHeight用来实现此目的

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    int minHeight = MeasureSpec.getSize(widthMeasureSpec);
    setMinHeight(minHeight);
}

并设置wrap_contentlayout_height布局:

<com.test.SquareTextView
        android:id="@+id/squareTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" />

RecyclerView的更新:

1.在Activity类中获取屏幕宽度:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenWidth = size.x;

2.将其传递给适配器并在创建项目视图时进行设置:

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View root = LayoutInflater.from(viewGroup.getContext())
            .inflate(R.layout.my_item, viewGroup, false);
    root.setMinimumHeight(screenWidth);
    return new ViewHolder(root);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何创建小型div正方形,可自动按行分配自身?

来自分类Dev

制作高度为100%的正方形

来自分类Dev

如何在Ruby中为几何形状(点,线,正方形,三角形等)创建类

来自分类Dev

如何使网页显示为正方形?

来自分类Dev

将正方形图像div显示为帧,而不管图像的宽度和高度如何

来自分类Dev

如何将内容以正方形div为中心并使用bootstrap.css保持长宽比?

来自分类Dev

回溯以创建正方形

来自分类Dev

无法在Python中为非正方形整数编码

来自分类Dev

如何使用:before属性在跨度之前创建正方形

来自分类Dev

当面板设置为默认面板高度时,如何停止umano AndroidSlidingUpPanel的主要内容调整大小

来自分类Dev

自动调整默认形状

来自分类Dev

自动布局:具有相等宽度/高度的正方形图像视图

来自分类Dev

iOS 8自动版式-动态调整4个正方形视图的大小

来自分类Dev

如何在正方形中心调整svg,并具有动态调整到屏幕的能力

来自分类Dev

用R图中长度相同但高度为一半的矩形替换正方形

来自分类Dev

将图像调整为正方形,但保持宽高比C ++ OpenCV

来自分类Dev

如何包装textview自动调整大小的内容

来自分类Dev

将圆以正方形为中心

来自分类Dev

CSS内部颜色为正方形

来自分类Dev

为什么像素为正方形?

来自分类Dev

汉字迅速显示为正方形

来自分类Dev

显示为正方形的图标

来自分类Dev

svg 圆圈显示为正方形

来自分类Dev

Pyglet纹理无法覆盖正方形

来自分类Dev

如何在不使用SVG图像的情况下使用带有内部文本的React创建圆形/正方形形状?

来自分类Dev

如何使用layout_weight使宽度和高度[正方形]大小相等?

来自分类Dev

无论高度如何,我都想让 imageView 成为一个完美的正方形

来自分类Dev

如何制作matplotlib散点图正方形?

来自分类Dev

如何使android imageview变为正方形?

Related 相关文章

  1. 1

    您如何创建小型div正方形,可自动按行分配自身?

  2. 2

    制作高度为100%的正方形

  3. 3

    如何在Ruby中为几何形状(点,线,正方形,三角形等)创建类

  4. 4

    如何使网页显示为正方形?

  5. 5

    将正方形图像div显示为帧,而不管图像的宽度和高度如何

  6. 6

    如何将内容以正方形div为中心并使用bootstrap.css保持长宽比?

  7. 7

    回溯以创建正方形

  8. 8

    无法在Python中为非正方形整数编码

  9. 9

    如何使用:before属性在跨度之前创建正方形

  10. 10

    当面板设置为默认面板高度时,如何停止umano AndroidSlidingUpPanel的主要内容调整大小

  11. 11

    自动调整默认形状

  12. 12

    自动布局:具有相等宽度/高度的正方形图像视图

  13. 13

    iOS 8自动版式-动态调整4个正方形视图的大小

  14. 14

    如何在正方形中心调整svg,并具有动态调整到屏幕的能力

  15. 15

    用R图中长度相同但高度为一半的矩形替换正方形

  16. 16

    将图像调整为正方形,但保持宽高比C ++ OpenCV

  17. 17

    如何包装textview自动调整大小的内容

  18. 18

    将圆以正方形为中心

  19. 19

    CSS内部颜色为正方形

  20. 20

    为什么像素为正方形?

  21. 21

    汉字迅速显示为正方形

  22. 22

    显示为正方形的图标

  23. 23

    svg 圆圈显示为正方形

  24. 24

    Pyglet纹理无法覆盖正方形

  25. 25

    如何在不使用SVG图像的情况下使用带有内部文本的React创建圆形/正方形形状?

  26. 26

    如何使用layout_weight使宽度和高度[正方形]大小相等?

  27. 27

    无论高度如何,我都想让 imageView 成为一个完美的正方形

  28. 28

    如何制作matplotlib散点图正方形?

  29. 29

    如何使android imageview变为正方形?

热门标签

归档