android - 如何在不移动 X、Y 位置的情况下缩放 View ?

标签 android view scale

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

它可以工作,但问题是当我缩放它时, View 会更改 X 和 Y 位置。我希望它在缩放后保持相同的左上角坐标。如何在缩放后让 View 保持不变?

见下面的代码:

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); 

最佳答案

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

rscroll.addView(rg, lp);

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

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

这将使左上角保持固定。

关于android - 如何在不移动 X、Y 位置的情况下缩放 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160705/

相关文章:

CSS3 变换比例覆盖悬停时的另一个元素

r - 如何将 x 轴定义为 1 而不是 0

css3 变换比例贴在底部

android - 从android中的嵌套json获取值并将其传递给listview

android - 为什么我的工具栏与我的 TextView 重叠?

html - 如何在shopify中创建查看所有功能?

sql-server - 为什么索引 View 不能有 MAX() 聚合?

android - 在 xamarin (c#) 中加载嵌入式 xml

android - 如何检测 Google Play 购买是从测试帐户还是普通帐户进行的

ios - 使用滑动手势更改 View