1

虽然试图给ImageSpan前面textview我在平板电脑上的线条之间获得了额外的空间,例如 Nexus 7

在此处输入图像描述

但是在 Nexus5x 上没问题

在此处输入图像描述

 public void setTitleWithItemCount(String name, int itemCount, @StringRes int singularResID, @StringRes int pluralRedID) {
        final String itemNoun = itemCount == 1 ? getResources().getString(singularResID) : getResources().getString(pluralRedID);
        final String title = getResources().getString(R.string.work_summary_tile_title,
                                                      " " + name,
                                                      itemCount,
                                                      itemNoun);
        final SpannableStringBuilder workItemTxt = new SpannableStringBuilder(title);

        Drawable d = getResources().getDrawable(actionImage);
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
        ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BOTTOM);
        workItemTxt.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

        workItemTxt.setSpan(new TextAppearanceSpan(getContext(), R.style.WorkItemTitleText),
                            1,
                            name.length(),
                            Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        workItemTxt.setSpan(new TextAppearanceSpan(getContext(), R.style.WorkItemSubTitleText),
                            name.length(),
                            title.length() + 1,
                            Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

        titleView.setText(workItemTxt);
    }

xml

<TextView
    android:id="@+id/text_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_marginEnd="5dp"
    android:layout_marginStart="-20dp"
    android:layout_toEndOf="@+id/image_container"
    android:layout_toStartOf="@id/progress_title"
    android:ellipsize="end"
    android:lines="3"
    android:maxLines="3"
    android:textAppearance="@style/WorkItemTitleText"
    tools:text="@string/lorem_ispum_short"/>

我该如何解决这个问题?任何帮助表示赞赏

4

1 回答 1

0

尝试使用一个库来设置所有设备相同的值。管理所有设备没问题..

将以下依赖项添加到应用程序级别的 gradle 文件中 ..

implementation 'com.intuit.sdp:sdp-android:1.0.4'

然后在所有控件中以这种方式赋予价值之后..

     android:layout_marginStart="@dimen/_75sdp"
    android:layout_marginTop="@dimen/_75sdp"
    android:padding="@dimen/_15sdp"
于 2018-05-08T10:47:17.917 回答