Как установить фон TextView динамически из файла XML - PullRequest
3 голосов
/ 10 октября 2010

У меня есть XML-файл, подобный приведенному ниже, который я буду использовать для установки фона для Textview:

row.xml

      <?xml version="1.0" encoding="utf-8"?>
      <shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle">
      <gradient android:endColor="#CCCCCC" android:startColor="#CCCCCC"
      android:angle="270" />
      <stroke android:width="1dp" android:color="#999999" />
      <corners android:bottomRightRadius="0dp"
      android:bottomLeftRadius="0dp" android:topLeftRadius="0dp"
      android:topRightRadius="0dp" /></shape>

Приведенный выше Xml я установлю в качестве фона для TextView в main.xml, как показано ниже:

main.xml

<TextView
android:id="@+id/rowtext3"
android:text="Availablity"
android:layout_height="25px"
android:layout_width="60px"
android:textSize="10px"
android:textStyle="bold"
android:textColor="@color/black"
android:gravity="center"
android:background="@drawable/row"
/>

Но я хочу, чтобы это делалось из кода, а не из Xml. Я сделал все, что я сделал в Xml, такие как шрифт, ширина, высота, шрифт динамически через код, но не смог установить Background, который я упомянул в файле Xml. Как мы можем установить содержимое файла Xml в качестве фона для textview аналогично тому, как мы устанавливаем фон как XML в main.xml.

В коде я сделал так:

    t1=new TextView(this); <br>
    t1.setText(ed1.getText()); <br>
    t1.setHeight(25); <br>
    t1.setWidth(60); <br>
    t1.setTextSize(10); <br>

Но я не нашел, как установить фон, то есть, как установить контент XML в качестве фона?
Может ли кто-нибудь помочь мне разобраться в этом вопросе?
Заранее спасибо,

Ответы [ 2 ]

7 голосов
/ 10 октября 2010

Я думаю, что вы ищете метод setBackgroundDrawable(Drawable d).

Это установит фон, используя заданный Drawable.Так это будет выглядеть примерно так:

TextView t1 = (TextView) findViewById(R.id.rowtext3);
t1.setBackgroundDrawable(row);
0 голосов
/ 10 октября 2010

Если я вас правильно понимаю, findViewById(int id) из класса Activity - это то, что вы ищете. Когда вы восстановите вид, вы можете установить фон, используя setBackgroundResource(int id). Параметр id можно найти в созданном вами R-файле, например, findViewById(R.drawable.row).

...