我有RelativeLayout
,ID为relative_layout_bottom
,我正在尝试以编程方式向其添加内容。我循环遍历<TextView, ImageView>
字典并添加条目如下:
我希望RelativeLayout
的左侧(左侧对齐)列表TextViews
向下,而RelativeLayout
的右侧(对齐父级)有一个ImageViews
列表,如下所示:
|TextView#1 ImageView#1|
|TextView#2 ImageView#2|
|TextView#3 ImageView#3|
|TextView#4 ImageView#4|
| . . |
| . . |
| . . |
我似乎无法弄清楚如何做到这一点,没有任何东西出现在我面前。我可以编辑我目前的代码,如果有人关心,但我很确定提出一个不同的解决方案比修复我的更有用。
这是我的xml,我只使用一个我要附加的TextView和ImageView?不确定它是否像那样工作,或者我是否应该以编程方式为每个条目创建单独的TextView和ImageView。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="20dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
tools:context="com.brettrosen.atls.activity.Report">
<LinearLayout
android:id="@+id/report_top_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
<ScrollView
android:id="@+id/scroll_view_top"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/checkbox_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"/>
</RelativeLayout>
</ScrollView>
</LinearLayout>
<LinearLayout
android:id="@+id/report_bottom_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
<ScrollView
android:id="@+id/scroll_view_bottom"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/relative_layout_bottom"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/checkbox_text_bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"/>
<ImageView
android:id="@+id/checkbox_notes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"/>
/>
</RelativeLayout>
</ScrollView>
</LinearLayout>
这是我到目前为止的代码:
TextView checkbox_text_bottom = (TextView) findViewById(R.id.checkbox_text_bottom);
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relative_layout_bottom);
for (Map.Entry entry : PrearrivalPlan.imageButtonsWithNotes.entrySet()) {
ImageButton imageButton = (ImageButton) entry.getValue();
Bitmap bitmap = drawableToBitmap(imageButton.getBackground());
checkbox_text_bottom.append(entry.getValue() + "\n"); // Append the text to the TextView
ImageView image = new ImageView(Report.this); // Create an imageview
image.setImageBitmap(bitmap);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)image.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
image.setLayoutParams(params);
relativeLayout.addView(image); // Add it to the layout
}
答案 0 :(得分:0)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/LinLayLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/LinLayRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:orientation="vertical">
</LinearLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
Now u can add your widgets in the respective linearlayout using addview.