我是Android的新手。我有一个要求,我必须将imageViews动态添加到线性布局,然后必须单独为每个图像设置动画。动态添加imageViews到线性布局
我不知道如何将imageViews动态添加到线性布局。 Plz帮助我。
感谢
我是Android的新手。我有一个要求,我必须将imageViews动态添加到线性布局,然后必须单独为每个图像设置动画。动态添加imageViews到线性布局
我不知道如何将imageViews动态添加到线性布局。 Plz帮助我。
感谢
您可以添加view
动态这样。
LinearLayout.LayoutParams imParams =
new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
ImageView imSex = new ImageView(context);
imSex.setImageResource(getmyImage());
mainlayout.addView(imSex,imParams);
看到这个
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.rainbow);
ImageView tv1 = new ImageView (this);
tv1.setImageresorce(R.drawable.image1);
ImageView tv2 = new ImageView (this);
tv2.setImageresorce(R.drawable.image2);
ImageView tv3 = new ImageView (this);
tv3.setGravity(Gravity.CENTER);
tv3.setImageresorce(R.drawable.image3);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
ll.setGravity(Gravity.CENTER);
ll.addView(tv1);
ll.addView(tv2);
ll.addView(tv3);
setContentView(ll);
}
看到这个有用的数据
http://mobile.tutsplus.com/tutorials/android/android-layout/
你可以给这段代码一试。它还具有用于设置ImageView
的尺寸以及多个ImageView's
之间的余量的位。 int dimens = 45
和int dimensMargin = 4;
是pixel
值,并正在转换为dp。
LinearLayout linlaLikes
必须在您的布局XML
然后投入您的活动。
LinearLayout linlaLikes = (LinearLayout) findViewById(R.id.linlaLikes);
ImageView imgUsers = new ImageView(getApplicationContext());
// SET THE IMAGEVIEW DIMENSIONS
int dimens = 45;
float density = getResources().getDisplayMetrics().density;
int finalDimens = (int)(dimens * density);
LinearLayout.LayoutParams imgvwDimens = new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgUsers.setLayoutParams(imgvwDimens);
// SET SCALETYPE
imgUsers.setScaleType(ScaleType.CENTER_CROP);
// SET THE MARGIN
int dimensMargin = 4;
float densityMargin = getResources().getDisplayMetrics().density;
int finalDimensMargin = (int)(dimensMargin * densityMargin);
LinearLayout.LayoutParams imgvwMargin = new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgvwMargin.setMargins(finalDimensMargin, finalDimensMargin, finalDimensMargin, finalDimensMargin);
// SET YOUR IMAGER SOURCE TO YOUR NEW IMAGEVIEW HERE
// ADD THE NEW IMAGEVIEW WITH THE PROFILE PICTURE LOADED TO THE LINEARLAYOUT
linlaLikes.addView(imgUsers, imgvwMargin);
您可以使用片段为这个http://developer.android.com/guide/components/fragments.html
FragmentManager fragmentManager = getFragmentManager()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ExampleFragment imageFragment = new ExampleFragment();
fragmentTransaction.add(R.id.image_container, imageFragment);
fragmentTransaction.commit();
感谢所有的评论。我设法只在gridView中满足requiremnets。但现在我陷入了一个问题。问题是这样的要求规定,当GridView的视图被填充并且视图向下移动时,垂直滚动应该自动滚动以显示新加载的图像。我尝试使用gridView.smoothScrollToPosition(position); gridView.setSelection(position);但在使用它们时,我的应用程序崩溃了。如何为GridView启用自动垂直滚动?帮助我。 – Priety
发布(新的Runnable(){ @Override public void run(){ gridView.setSelection(index); } }); – Greensy
但搜索框? – Blackbelt