Создание виджета dynamcally с помощью java и без XML
Привет всем
У меня есть ниже xml-код
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="MyPackage.MainActivity" tools:showIn="@layout/app_bar_main" android:id="@+id/content_main"> <TextProgress android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textprogress_day" android:background="@drawable/layout_border"> </TextProgress> </android.support.constraint.ConstraintLayout>
Я хочу создавать динамически
TextProgerss
(Мой виджет) без xml
обратите внимание на приведенный ниже код
public class TextProgress extends ConstraintLayout { private TextView mTextView; private ProgressBar mProgressBar; public TextProgress(Context context, @Nullable AttributeSet attrs) { super(context, attrs); this.setBackgroundColor(Color.GREEN); initializeViews(context); } . . .
Что я уже пробовал:
Я пытался ниже код
ConstraintLayout cl= (ConstraintLayout) findViewById(R.id.content_main); TextProgress tp=new TextProgress(this,null); ConstraintLayout.LayoutParams tpParams=new ConstraintLayout.LayoutParams( ConstraintLayout.LayoutParams.MATCH_PARENT,ConstraintLayout.LayoutParams.WRAP_CONTENT); tp.setLayoutParams(tpParams); cl.addView(tp);
Но
MATCH_PARENT
не работает правильнои я не знаю, как создать динамически ниже atrribute
android:background="@drawable/layout_border"
Richard MacCutchan
Свойства, используемые в XML, также могут быть найдены как свойства различных объектов в коде. Проверьте документацию для класса, на который вы ссылаетесь.
kave2011
Именно так
Но "MATCH_PARENT" не работает правильно.