[英]android - add n number of views in scroll view
i am designing an app for android tablets. 我正在为Android平板电脑设计一个应用程序。 I have created a layout file which contains the application bar, next is some buttons.
我创建了一个包含应用程序栏的布局文件,接下来是一些按钮。 In the middle of the screen i want to have a horizontal scroll view inside which i need to show some images.
在屏幕中间,我想要一个水平滚动视图,在其中需要显示一些图像。
The number of images inside the scroll view depends upon the return data from the url. 滚动视图内的图像数量取决于url返回的数据。 For this i am maintaining an array list.
为此,我要维护一个数组列表。 According to the size of the array i need to create the image views withing the scroll view.
根据数组的大小,我需要与滚动视图一起创建图像视图。
I have placed all other buttons, textviews in the layout file and i need to make the above said view alone through coding
, how to do this. I have placed all other buttons, textviews in the layout file and i need to make the above said view alone through coding
,如何执行此操作。
If the array size is 19, then the list of images within scroll view to be shown in the following order only 如果数组大小为19,则滚动视图中的图像列表仅按以下顺序显示
1 4 7 10 13 16 19
2 5 8 11 14 17
3 6 9 12 15 18
In iPad iBook apps library page, the books will be listed out in this way. 在iPad iBook应用程序库页面中,书籍将以这种方式列出。
how to do this.... 这个怎么做....
not sure but can try approach like this 不确定,但是可以尝试这样的方法
1- Create/inflate a horizontal scrollview ..
2- make for loop running i= 0 to x
where x= (totalCount/3)+(totalCount%3>0?1:0)
3- Create a Linear layout with orientation vertical
4- create one more loop form j=0 to 3 or (i+1)*3+j< totalCount
5- add your element layout in Linear layout
6 after the inner loop closed add Linear layout in horizontal scroll-view
For making item clickable 用于使项目可点击
1- take any view from element layout like in you case image-view is good option
2- creates a class in you activity or better to extend you activity with clickListner.
3- while creating the imageView for each element set this listener to all
4- Set the data object or index with element with image-view in tad using SetTag
5- in Onclick function you will get image-view as argument and use getTag to get that data of attached with clicked element
Thanks to Dheeresh Singh 感谢Dheeresh Singh
Following is my main.xml file 以下是我的main.xml文件
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linear_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal" >
</LinearLayout>
</HorizontalScrollView>
i have my Horizontal scroll view
in my main.xml
file 我的
main.xml
文件中有Horizontal scroll view
public class LayoutActivity extends Activity
//implements OnClickListener
{
ViewGroup layout;
LinearLayout lr;
int x;
int total = 4;
int count = 0;
LinearLayout lay;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
count = 0;
layout = (ViewGroup)findViewById(R.id.linear_1);
x = (total/3)+(total%3 > 0?1:0);;
for(int i = 0; i < x; i++)
{
lr = new LinearLayout(this);
lr.setOrientation(LinearLayout.VERTICAL);
layout.addView(lr);
for(int j = 0; j < 3; j++ )
{
count++;
final View child = getLayoutInflater().inflate(R.layout.inflateview, null);
lay = (LinearLayout)child.findViewById(R.id.threeByThree_tableRow1_1_Layout1);
lay.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Toast.makeText(getApplicationContext(), "selected id is "+child.getId(), Toast.LENGTH_SHORT).show();
}
});
lr.addView(child);
child.setId(count);
if(i == total)
{
break;
}
}
}
}
}
in the above code i have lr is the LinearLayout to display it in vertical order and View child is the data which i need to show in both vertical and horizontal order. 在上面的代码中,我有lr是LinearLayout以垂直顺序显示它,而View child是我需要同时以垂直和水平顺序显示的数据。
Thanks a lot Dheeresh Singh 非常感谢Dheeresh Singh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.