繁体   English   中英

如何在android中实现这种布局?

[英]How to achieve this layout in android?

请看下面,我认为这应该很简单,但我无法弄清楚......

目标是让图像紧跟在一些文本之后,当文本很长时,图像仍然可以在那里并且文本在末尾显示省略号。 正文只有一行。

谢谢!

在此处输入图片说明

像这样的东西应该可以工作:

<TextView   
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ABCABCABACBACBACBACBAC"
        android:maxLines="1"
        android:singleLine="true"
        android:ellipsize="end"    
        android:drawableRight ="@drawable/ic_info" />

试试这个android:ellipsize="end"

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableEnd="@drawable/images"
        android:ellipsize="end"
        android:maxLines="1"
        android:text="Large Text fgkjdsfgkjdfslgk jdsfg jdfgjdfjgijdfogjdfgdfsgdfsg dfsg  dfsg sdf g"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableEnd="@drawable/images"
        android:ellipsize="end"
        android:maxLines="1"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

在上面的评论中,您要求侦听器在 drawableRight 上单击事件,这是实现

yourTextView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                final int DRAWABLE_RIGHT = 2;

                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    if (event.getRawX() >= (yourTextView.getRight() - yourTextView.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {

                        return true;
                    }

                }
                return false;
                }

        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM