我试图在水平滚动中显示两个视图,如下图所示。我想知道实现这一目标的可能方法,因为我所获得的输出远远不是我们在下面的屏幕抓取中看到的要求: -
以下是我的布局的一部分,它描述了我实施的视图: -
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/imageGallery"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3"/>
</HorizontalScrollView>
在上面的视图中,我创建了一个垂直方向的线性布局,并在其中添加了一个imageview和3个文本视图,如下面的代码片段所示: -
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private View getVerticalLinearLayout(Integer image){
LinearLayout verticalLayout = new LinearLayout(getContext());
verticalLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT,2.0f));
verticalLayout.setOrientation(LinearLayout.VERTICAL);
verticalLayout.setBackground(getResources().getDrawable(R.drawable.layout_border));
verticalLayout.addView(scaleImage((ImageView) getImageView(image)));
verticalLayout.addView(getTextView("Book Name",14,"#444444"));
verticalLayout.addView(getTextView("Author Name",12,"#444444"));
verticalLayout.addView(getTextView("Lender Name",12,"444444"));
return verticalLayout;
}
下面的图片中看到
答案 0 :(得分:1)
您可以将图书视图设计为单独的布局文件。然后,您可以使用LayoutInflater对其进行实例化,并将其与您的数据一起填充,然后最终将它们单独添加到imageGallery
布局中。
要在屏幕上一次显示两个视图,您必须知道屏幕宽度。这可以通过DisplayMetrics
实现,也可以在完全水平覆盖屏幕的视图上调用getWidth()
。获得该宽度后,您要添加到水平滚动视图的bookView
布局需要将其宽度设置为screenWidth/2
。