Android 如何在不移动X、Y位置的情况下缩放视图?

Android 如何在不移动X、Y位置的情况下缩放视图?,android,view,scale,Android,View,Scale,我有一个RadioGroup,我正试图缩小它,因为它太大了。所以我使用setScaleX()和setScaleY()并将其缩小 它可以工作,但问题是当我缩放视图时,视图的X和Y位置会发生变化。我希望它在缩放后保持相同的左上角坐标。如何使视图在缩放后保持不变 见下面的代码: CSRadioButton radiobutton = (CSRadioButton) field; RadioGroup rg = new RadioGroup(this); rg.setOrientation(RadioG

我有一个
RadioGroup
,我正试图缩小它,因为它太大了。所以我使用
setScaleX()
setScaleY()
并将其缩小

它可以工作,但问题是当我缩放视图时,视图的X和Y位置会发生变化。我希望它在缩放后保持相同的左上角坐标。如何使视图在缩放后保持不变

见下面的代码:

CSRadioButton radiobutton = (CSRadioButton) field;
RadioGroup rg = new RadioGroup(this);
rg.setOrientation(RadioGroup.VERTICAL);
JSONArray choices = radiobutton.getChoices();
for(int j = 0; j < choices.length(); j++){
    JSONObject currObj = choices.getJSONObject(j);
    String text = currObj.getString("text");
    RadioButton rb = new RadioButton(this);
    rb.setText(text);
    rg.addView(rb);
}

rscroll.addView(rg, lp);

rg.setScaleX(0.7f);
rg.setScaleY(0.7f); 
CSRadioButton radiobutton=(CSRadioButton)字段;
放射组rg=新放射组(本);
rg.设置方向(放射组垂直);
JSONArray choices=radiobutton.getChoices();
对于(int j=0;j
缩放和旋转视图的默认轴心点是视图的中心。您可以使用
View.setPivotX()
View.setPivotY()
设置所需的轴坐标:

这将导致左上角保持固定

rscroll.addView(rg, lp);

rg.setPivotX(0);
rg.setPivotY(0);  

rg.setScaleX(0.7f);
rg.setScaleY(0.7f);