-4

レイアウト\layout_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rR1MessageBubble"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/rR2MessageBubble"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/drawable_sky_background_frame">

    </RelativeLayout>

</RelativeLayout>

レイアウト\レイアウト コンポーネント.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:orientation="vertical"
    android:background="@drawable/frame">


    <TextView
        android:id="@+id/txtViewTest"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:text="Hello!"
        android:gravity="center" />

</LinearLayout>

drawable\frame.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >

    <solid android:color="#FF07DD43" />

    <corners android:bottomRightRadius="3dp" 
                android:bottomLeftRadius="3dp" 
                android:topLeftRadius="3dp" 
                android:topRightRadius="3dp"/>

</shape>

MainActivity.java

![package com.kore.layoutdemo;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;

/**
 * @author ayadav
 *
 */
public class MainActivity extends Activity {


 @Override
 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

    setContentView(R.layout.layout_main);

    RelativeLayout rR2MessageBubble = (RelativeLayout)findViewById(R.id.rR2MessageBubble);

    RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) rR2MessageBubble.getLayoutParams();

    //View-1
    View view1 = ((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.layout_component, null);

    rR2MessageBubble.addView(view1);

    //View-2
    View view2 = ((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.layout_component, null);

    TextView txtViewTest = (TextView) view2.findViewById(R.id.txtViewTest);
    txtViewTest.setText("World");

    //params.addRule(RelativeLayout.RIGHT_OF, view1.getId());
    params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, 1);
    view2.setLayoutParams(params);

    rR2MessageBubble.addView(view2);

 }

}

出力

ここに画像の説明を入力

要件 layout_main.xmlにlayout_component.xmlの複数のインスタンスを追加したいので、否定的な投票の代わりに、これを達成できる方法を提案してください...ありがとう

4

2 に答える 2

2

おそらく、テキストを「World」に設定したためです。

TextView txtViewTest = (TextView) view2.findViewById(R.id.txtViewTest);
txtViewTest.setText("World");
于 2014-05-02T12:57:57.960 に答える