Я создал рамку с кнопкой и 3 текстовыми изображениями внутри кнопки. Я хочу дублировать это и динамически добавлять их через java-программу один под другим.Динамическое создание и добавление фреймворков android
Код xml для того же прилагается.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout android:id="@+id/frameLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:layout_width="319dp" android:layout_height="130dp"/>
<TextView android:id="@+id/textView1" android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:layout_height="wrap_content" android:text="@string/app_name"/>
<TextView android:id="@+id/textView2"
android:layout_gravity="center_horizontal"
android:layout_marginTop="45dp"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name"/>
<TextView android:id="@+id/textView3"
android:layout_gravity="center_horizontal"
android:layout_marginTop="75dp"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name"/>
</FrameLayout>
<FrameLayout android:id="@+id/frameLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/frameLayout1">
<Button android:layout_width="319dp" android:layout_height="130dp"/>
<TextView android:id="@+id/textView4" android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:layout_height="wrap_content" android:text="@string/app_name"/>
<TextView android:id="@+id/textView5"
android:layout_gravity="center_horizontal"
android:layout_marginTop="45dp"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name"/>
<TextView android:id="@+id/textView6"
android:layout_gravity="center_horizontal"
android:layout_marginTop="75dp"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name"/>
</FrameLayout>
</RelativeLayout>
Java-код для этого дублирования и добавления к концу дается,
FrameLayout f2 = (FrameLayout)findViewById(R.id.frameLayout2);
FrameLayout f3;
f3 = f2;
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.BELOW, R.id.frameLayout2);
f3.setLayoutParams(p);
Я хочу, чтобы 3-й раскладку кадров будет помещен ниже второго, но работает этот код, второй Рамка также не видна, может ли кто-нибудь сказать мне, где я иду не так?
Это java, написав f3 = f2, вы просто ссылаетесь на f3 на f2, поэтому это не дубликат. проверьте http://stackoverflow.com/questions/9807650/dynamically-cloning-a-lingleayout-in-android –
Привет, спасибо за ответ, будет ли эта работа для framelayouts ?? Я имею в виду, я не хочу клонировать весь относительный макет, но только сегмент. – rafavinu
Я предполагаю, что да. –