2017-04-02 132 views
0

我正在Android Studio中使用ImageButton,并在代码开发过程中需要更改ImageButton的维度。其他设置ImageButton维度的方法

我在上一个问题中遇到了解决方案的一部分。

stackoverflow.com/questions/10992241/set-imagebutton-height-and-width-in-code

android.view.ViewGroup.LayoutParams params1 = button1.getLayoutParams(); 
    params1.height = size; 
    params1.width = size; 
    button1.setLayoutParams(params1); 
android.view.ViewGroup.LayoutParams params2 = button2.getLayoutParams(); 
    params2.height = size; 
    params2.width = size; 
    button2.setLayoutParams(params2); 
android.view.ViewGroup.LayoutParams params3 = button3.getLayoutParams(); 
    params3.height = size; 
    params3.width = size; 
    button3.setLayoutParams(params3); 

是否有其他的方式来管理,而不重复后续的代码全部ImageButtons?

android.view.ViewGroup.LayoutParams params1 = button1.getLayoutParams(); 
    params1.height = size; 
    params1.width = size; 

回答

1

谁能把一个连续的方式布局你的按钮

赞(你可以根据屏幕的名字,如你所愿动作名称进行更改):button_1button_2button_3

你可以得到这样的按钮的名单是这样的:

List<ImageButton> toBeResizedButtons() { 

    ArrayList<ImageButton> buttons = new ArrayList<>(); 

    for (int i = 1; i <= NUMBER_OF_BUTTONS ; i++) { 
     int id = getResources().getIdentifier("button_" + i, "id", getPackageName()); 
     buttons.add((ImageButton) findViewById(id)); 
    } 

    return buttons; 
} 

你可以调整所有这些在一个单独的S这样的处理

for(ImageButton b : toBeResizedButtons()) { 

    resize(b, size); 
} 

其中resize()假定您有一个固定的大小来调整它们的大小。

void resize(View v, int size) { 

    android.view.ViewGroup.LayoutParams params = v.getLayoutParams(); 
    params.height = size; 
    params.width = size; 
}