在我的滚动视图中有一个相对布局,其中包含 EditTextView 和 Button,在按钮上单击第 2 个 EditTextView 和第 2 个按钮将变为可见,依此类推,直到第 5 个 EditTextView 和 Button。现在如何在屏幕上显示最后一个可见视图(第二个按钮),现在它没有显示,我需要向下滚动才能看到它
问问题
2098 次
2 回答
0
我想找到了你问题的答案。首先初始化你的滚动视图(findViewById(int))然后在一个按钮上点击写下这段代码:
scroll.fullScroll(ScrollView.FOCUS_DOWN);
在我的活动中:
public class SampleScrollviewActivity extends Activity {
Button b1;
Button b2;
ScrollView scroll;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b2=(Button) findViewById(R.id.btn2);
b1=(Button) findViewById(R.id.btn1);
scroll=(ScrollView) findViewById(R.id.scrlView1);
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
scroll.fullScroll(ScrollView.FOCUS_DOWN);
}
});
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
scroll.fullScroll(ScrollView.FOCUS_UP);
}
});
}
}
希望这可以帮助!
于 2012-07-04T08:34:13.930 回答
0
我解决此问题的一般方法是 - 使用以下代码查找(第二个按钮)的位置
View secondButton = findViewById(R.id.secondButtonID);
//Use getLocation on screen API to find exact location (2nd Button) View
int location[] = new int[2];
secondButton.getLocationOnScreen(location);
//Now you have X,Y location of second View on screen
int x = location[0];
int y = location[1];
ScrollView scrollView = findVieById(R.id.scrollViewID);
//Move to X,Y position
scrollView.scrollTo(x,y); //you can add some offset eg. y +- offset
于 2016-02-09T07:58:15.750 回答