xml ファイルをカスタム ビューに拡張し、それを相対レイアウトに追加しています。
カスタム ビューを相対レイアウトに追加する際に、addRule メソッドを使用していくつかのルールを設定しています。しかし、ビューは常に左上隅に追加されています。ここに何か不足していますか?
これが私のコードとレイアウトです。
MainActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(android.os.Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.mainLayout);
RelativeLayout rl = (RelativeLayout)findViewById(R.id.relativeLayout);
CustomLayout cLayout = new CustomLayout(this);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.BELOW, R.id.title);
cLayout.setLayoutParams(lp);
rl.addView(cLayout);
};
}
CustomLayout.java
public class CustomLayout extends RelativeLayout {
public CustomLayout(Context context) {
super(context);
LayoutInflater.from(context).inflate(R.layout.customlayout, this);
}
}
mainlayout.xml
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/contentScroller"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<RelativeLayout
android:id="@+id/mainInfo"
android:layout_width="400dp"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/mainImage"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/lines"/>
<TextView
android:id="@+id/mainDesc"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/mainImage"
android:textColor="@android:color/white"
android:text="@string/desc"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_toRightOf="@+id/mainInfo">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/titletext"/>
</RelativeLayout>
</RelativeLayout>
</HorizontalScrollView>
customlayout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/background">
<ImageView
android:id="@+id/icon"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="10dp"
android:scaleType="fitStart"
android:src="@drawable/appicon" >
</ImageView>
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/sampletext"
android:layout_toRightOf="@+id/icon"/>
</RelativeLayout>