在单个 TextView 中等边距或 space

equal margin or space in a singe TextView

我使用单个 textView 来显示类似的视图。由于 UpCase 字母和整数采用不同的边距或填充,它们没有正确对齐我正在尝试添加

  name:       AnyName
  age:        23
  caseId:     anyID

然后

        setColor(caseByTv, "By:	" + caseDetail.getUpdatedByUser().trim(), 0, 3, 0xFF777777);
        setColor(serviceTypeTv, "Type:\t\t" + caseDetail.getType().trim(), 0, 5, 0xFF777777);
        setColor(updatedDateTv, "Updated:\u0009\u0009" + caseDetail.getUpdatedOnDate().trim(), 0, 8, 0xFF777777);
        setColor(orderDetailTv, "Order #\u0009\u0009" + caseDetail.getOrderNumber().trim(), 0, 8, 0xFF777777);
        setColor(nameTv, "Name:          " + caseDetail.getName().trim(), 0, 8, 0xFF777777);
        setColor(emailTv, "Email:           " + caseDetail.getEmail().trim(), 0, 7, 0xFF777777);
        setColor(phoneNoTv, "Phone:         " + caseDetail.getPhone().trim(), 0, 7, 0xFF777777);
        setColor(categoryTypeTv, "Category:    " + caseDetail.getCaseCategory().trim(), 0, 10, 0xFF777777);**strong text**

其中设置颜色

public void setColor(TextView view, String fulltext, int startIndex, int endIndex, int color) {
        Spannable str = new SpannableString(fulltext);
        str.setSpan(new ForegroundColorSpan(mContext.getResources().getColor(R.color.guest_connection_grey)), startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        view.setText(str);
    }

我尝试了多种添加标签的方法。首先,选项卡不工作,没有显示 space,我知道我可以通过连续使用两个 textView 来实现它。我可以通过这种方式实现我的目标吗?

试试这个

    tvSaveText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            StringBuilder order = new StringBuilder();
            order.append(rightSpace(30, "10302351"));
            order.append("30");
            Log.e("RESULT1",order.toString());


            StringBuilder order2 = new StringBuilder();
            order2.append(rightSpace(30, "10"));
            order2.append("30");
            Log.e("RESULT2",order2.toString());


            StringBuilder order3 = new StringBuilder();
            order3.append(rightSpace(30, "nilesh rathod"));
            order3.append("Nilesh");
            Log.e("RESULT3",order3.toString());
        }
    });

rightSpace()函数

public StringBuilder rightSpace(int max, String name) {

    StringBuilder stringBuilder = new StringBuilder();

    stringBuilder.append(name);
    for (int i = 0; i < max - name.length(); i++) {
        stringBuilder.append(" ");
    }


    return stringBuilder;
}

输出

E/RESULT1: 10302351                      30
E/RESULT2: 10                            30
E/RESULT3: nilesh rathod                 Nilesh