2016-02-02 30 views
1

我有收音机组视图,我试图缩小比例,因为它太大了。所以我使用setScaleX()setScaleY()并将其缩小。它可以工作,但问题是当我缩放时,视图会改变X和Y的位置。我希望它在缩放后保持相同的左上角坐标。如何使视图在缩放后保持放置状态?请参见下面的代码:如何在不移动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); 

回答

3

默认枢轴点用于缩放和旋转View是它的中心。您可以设置使用View.setPivotX()View.setPivotY()所需转动坐标:

rscroll.addView(rg, lp); 

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

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

这将导致左上角保持固定。

相关问题