0

在我的滚动视图中有一个相对布局,其中包含 EditTextView 和 Button,在按钮上单击第 2 个 EditTextView 和第 2 个按钮将变为可见,依此类推,直到第 5 个 EditTextView 和 Button。现在如何在屏幕上显示最后一个可见视图(第二个按钮),现在它没有显示,我需要向下滚动才能看到它

4

2 回答 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 回答