我是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