如何创建克隆重复视图?

Sha*_*ani 7 android view android-view

在我的Android应用程序中,我想创建ImageButton已创建的副本Imagebutton.

我想以Imagebutton编程方式创建新的XML文件中已创建按钮的widht,height,background,image src,margin等.简而言之,我想创建重复ImageButton.

我试过这个

ImageButton mImageButton = (ImageButton) findViewById(R.id.ib);
Imagebutton duplicate = mImageButton;
Run Code Online (Sandbox Code Playgroud)

但它只涉及到mImageButton.所以,改变duplicate也会引起变化mImageButton.

请帮帮我.谢谢...

Num*_*617 10

您无法克隆视图,这样做的方法是每次都创建您的视图.

您可以始终从XML多次膨胀视图,或者创建一个以编程方式创建视图的函数.

通货膨胀:

private void addImageButton(ViewGroup viewGroup) {    
    View v = LayoutInflater.from(this).inflate(R.layout.ib, null);
    viewGroup.addView(v);
}
Run Code Online (Sandbox Code Playgroud)

编程方式:

private void addImageButton(ViewGroup viewGroup) {    
    ImageButton imageButton = new ImageButton(context);
    viewGroup.addView(imageButton);
}
Run Code Online (Sandbox Code Playgroud)

  • 扩展视图的@Vamsi会将其属性设置为您在XML中设置的任何属性,而以编程方式创建新视图会将其设置为您可能不需要的默认值.如果你要制作许多复杂视图/布局的克隆,我建议为它制作一个XML. (4认同)