Используйте параметры макета для установки этих атрибутов.
TextView t = new TextView(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(heightInPixels, widthInPixel);
params.setMargins(left, top, right, bot);
t.setLayoutParams(params);
mLinearLayout.addView(t);
EDIT:
Если у вас есть свой стиль, в состоянии определить в attrs.xml файле, то вы должны сделать свой собственный TextView и в конструкторе ручки атрибутов вы хотите. Он предназначен для обработки атрибутов из XML. И для определения java вам нужно сделать «set method».
public class MyTextView extends TextView
{
String _stringValue;
public MyTextView(Context c)
{
this(c, null);
}
public MyTextView(Context c, AttributeSet attrs)
{
this(c, attrs, 0);
}
public MyTextView(Context c, AttributeSet attrs, int defStyle)
{
super(c, attrs, defStyle);
TypedArray a = c.obtainStyledAttributes(attrs, R.styleable.MyStyleAble);
_stringValue = a.getString(R.styleable.MyStyleAble_stringValue);
a.recycle(); //don't forget this line!
}
public void setStringValue(String s)
{
_stringValue = s;
}
}
EDIT
А вот использование MyTextView в коде. Просто создайте его, используя стандартный конструктор.
MyTextView t = new MyTextView(context);
Затем задайте свои значения, соответствующие стилю. В моем примере это значение String.
t.setStringValue("My string text");
Тогда используйте макетParams.
t.setLayoutParams(params);
И добавьте новый созданный TextView в макет. Например, LinearLayout.
mLinearLayout.addView(t);
Я забыл сказать, что вы должны определить стиль-состоянии Int attrs.xml только если вам необходимо установить свои атрибуты в файле XML. Тогда вы используете его вот так.
<my.package.name.MyTextView
xmlns:custom="http://schemas.android.com/apk/res/my.package.name"
custom:stringValue="some string text"
//and also you can use standart android:... attributes
/>
Спасибо за ответ, Но моя проблема в том, у меня есть стиль, определенный в attr.XML <объявить-styleable имя = "ClassicWidget"> <атр имя = формат "label1" = "строка" /> <атр имя = "label1_style" формат = "ссылка" /> <атр name = "label2" format = "string" /> declare-styleable> Он может включать в себя поля, отступы и другие предметы стиля Мне нужно применить эти стили к текстовому окну –
user1746619
@ user1746619 ОК. можете ли вы опубликовать несколько примеров. Я не уверен, понимаю ли я, что вы хотите делать. – WELLCZECH
@ user1746619 Ответ обновлен. Надеюсь, это то, что вы хотите сделать, и это было полезно для вас. – WELLCZECH