Есть ли способ поместить drawable в каждое текстовое представление, созданное динамически? - PullRequest
0 голосов
/ 13 марта 2020
  val textView = TextView(this)
    val params = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)
    params.setMargins(100, 70, 0, 0)
    textView.setTextColor(Color.BLACK)
    textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18f)
    for (element in arr) {
        textView.append(element + '\n')
    }
    textView.layoutParams = params
    linear?.addView(textView)

Я пытался добавить textView.setbackgrounddrawablewithintrisicbounds в l oop, но показывает только один

Ответы [ 2 ]

0 голосов
/ 14 марта 2020

Попробуйте это

for (int i = 0; i <2 ; i++) {
        TextView tv = new TextView(this);
        tv.setText("testing");
        tv.setTextColor(getResources().getColor(R.color.black));
        Drawable img = this.getResources().getDrawable(R.drawable.black_humidity_icon);
        img.setBounds(0, 0, 60, 60);
        tv.setCompoundDrawables(img, null, null, null);
        rootLinearLayout.addView(tv);
    }

Вы можете настроить его в соответствии с вашими потребностями. Надеюсь, что это выполнит ваше требование.

0 голосов
/ 14 марта 2020

Попробуйте:

textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.image, 0, 0, 0);

Попробуйте в xml файле:

 <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:drawableLeft="@drawable/image"
        android:drawablePadding="5dp"
        android:singleLine="true"
       />

Также проверьте официальную документацию - https://developer.android.com/reference/android/widget/TextView#setCompoundDrawablesWithIntrinsicBounds (int,% 20int ,% 20int,% 20int)

...