Как добавить представление программно в RelativeLayout?
можете ли вы дать мне очень простой пример добавления дочернего представления программно в RelativeLayout в данной позиции?
например, чтобы отразить следующий XML-код:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="107dp"
android:layout_marginTop="103dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
Я не понимаю, как создать соответствующую RelativeLayout.LayoutParams экземпляра.
2 ответов:
вот пример, чтобы вы начали, заполните остальные по мере необходимости:
TextView tv = new TextView(mContext); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); params.leftMargin = 107 ... mRelativeLayout.addView(tv, params);документы для RelativeLayout.LayoutParams и конструкторы здесь
во-первых, вы должны дать идентификатор вашего RelativeLayout Пусть говорят relativeLayout1.
RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.relativeLayout1); TextView mTextView = new TextView(context); mTextView.setText("Dynamic TextView"); mTextView.setId(111); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE); mainLayout.addView(mTextView, params);
Comments