rg_room:为RadioGroup hsv_top为:HorizontalScrollView
然后简单的计算一下HorizontalScrollView需要滑动的距离就可以了
Display d = getWindowManager().getDefaultDisplay();
DisplayMetrics dm =
new DisplayMetrics(); d.getMetrics(dm);
final int screenHalf = d.getWidth()/
2;
rg_room.setOnCheckedChangeListener(
new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group,
int checkedId) {
int scrollX = hsv_top.getScrollX();
RadioButton rb = (RadioButton) findViewById(checkedId);
int left = rb.getLeft();
int leftScreen = left-scrollX;
hsv_top.smoothScrollBy((leftScreen-screenHalf),
0);
}
});
注意:如果RadioButton是动态添加的话,请在RadioGroup.addview()之后再rg_room.setOnCheckedChangeListener
转载请注明原文地址: https://ju.6miu.com/read-1202643.html