我是新生的android。我创建了一个xml文件,但现在我想以编程方式创建我的所有布局。我看到很多例子,但我无法找到解决方案。
我想在编程相同的下面这些组件: -
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:paddingTop="10dp"
android:paddingLeft="60dp"
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bag" />
<TextView
android:paddingTop="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="@android:color/black"
android:layout_centerVertical="true"
android:layout_gravity="center_horizontal"
android:layout_toEndOf="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:gravity="center_vertical"
android:onClick="bugAndLuggage"
android:text="@string/bug_luggage"
android:paddingLeft="10dp"/>
</RelativeLayout>
答案 0 :(得分:0)
RelativeLayout relativeLayout=new RelativeLayout(context);
//set Relative Layout Parameter using
RelativeLayout.LayoutParams relativeLayoutParams=new RelativeLayout.LayoutParams(RelativeLayout.MATCH_PARENT,RelativeLayout.MATCH_PARENT);
relativeLayout.setLayoutParams(relativeLayoutParams);
//以相同的方式创建ImageView
ImageView imageView=new ImageView(context);
relativeLayout.addView(imageView);
//在每个视图中使用不同的选项添加布局参数,因为您已在xml中设置了
TextView textView=new TextView(context);
relativeLayout.addView(textView);
答案 1 :(得分:0)
而不是创建动态视图,您可以使用布局inflater来扩大视图。 所以你可以使用相同的xml布局文件来扩展视图。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:paddingTop="10dp"
android:paddingLeft="60dp"
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bag" />
<TextView
android:paddingTop="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="@android:color/black"
android:layout_centerVertical="true"
android:layout_gravity="center_horizontal"
android:layout_toEndOf="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:gravity="center_vertical"
android:onClick="bugAndLuggage"
android:text="@string/bug_luggage"
android:paddingLeft="10dp"/>
</RelativeLayout>
并在代码中
View v = getLayoutInflater().inflate(R.layout.YOUR_LAYOUT_ID, null);
RelativeLayout layout = (RelativeLayout) v.findViewById(R.id.srelative_layout_id);
TextView tv= (TextView)v.findViewBytId(R.id.id_of_text_view);