2011-11-04 20 views
32

Tôi muốn thiết lập mức độ nghiêm trọng của một mảng của Imageviews, ImageIcons [i] đến trung tâm với đoạn mã sau,Setting trọng ImageView của trung tâm trong android trình

ImageIcons[i] = new ImageView(this); 
ImageIcons[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
LayoutParams.WRAP_CONTENT)); 
layout.addView(ImageIcons[i]); 

Và tôi đang mắc kẹt lên trong khi thiết lập gravity.I yêu cầu người SO hướng dẫn tôi về điều này.

Cảm ơn

+0

Kiểm tra câu trả lời của tôi [ở đây] (http://stackoverflow.com/questions/6101874/android-center-an-image/33039444#33039444). Nó đã giúp tôi tập trung vào Imageview. –

Trả lời

72

Hãy thử điều này

LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(width, height); 
layoutParams.gravity=Gravity.CENTER; 
ImageIcons[i].setLayoutParams(layoutParams); 
+0

Perfect @Walid Hossain.Thanks rất nhiều. –

+0

Cảm ơn bạn Vivek –

3

Đầu tiên làm cho chiều rộng để match_parent và sau đó thiết lập mức độ nghiêm trọng khác trọng lực sẽ không work.Hope nó sẽ làm việc.

ImageIcons[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
LayoutParams.WRAP_CONTENT)); 
ImageIcons.setGravity(Gravity.CENTER); 
+0

Ok đã nhận điều đó.Đã tự hỏi điều gì đã xảy ra sai. Nhờ Android Killer. –

8

lấy thông số bố cục từ chế độ xem, sửa đổi và đặt lại.

image.setBackgroundResource(R.drawable.mobile); 
LayoutParams params = (LayoutParams) image.getLayoutParams(); 
params.gravity = Gravity.CENTER; 
image.setLayoutParams(params); 
2
ImageView myImage = new ImageView(this); 
FrameLayout.LayoutParams myImageLayout = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.WRAP_CONTENT); 
myImageLayout.gravity=Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL; 
      myImage.setLayoutParams(myImageLayout); 
0
LinearLayout llBasicInfo = new LinearLayout(context); 
    llBasicInfo.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
    llBasicInfo.setOrientation(LinearLayout.VERTICAL); 
    ImageView imageView = new ImageView(context); 
    LinearLayout.LayoutParams layoutParams =new LinearLayout.LayoutParams(200,200); 
    layoutParams.gravity=Gravity.CENTER; 
    imageView.setLayoutParams(layoutParams); 
    llImage.addView(imageView);