0

好吧,我有一个活动,它只包含棕色背景的相对布局,如果用户单击屏幕上的任何位置,我想启动另一个活动,我该怎么做?

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainscreen);
    }
4

3 回答 3

2

首先,然后RelativeLayout通过放入android:id="@+id/relativeLayout"您的布局文件来为您提供 ID。

RelativeLayout l = (RelativeLayout) findViewById(R.id.relativeLayout1);
l.setOnClickListener(new View.OnClickListener()
{

    public void onClick(View v)
    {
       // startActivity here

    }
});

或不使用您RelativeLayout刚刚实施的onTouchEvent(MotionEvent)活动

public boolean onTouchEvent(MotionEvent event)
{
    if(event.getAction() == MotionEvent.ACTION_UP)
    {
        // start activity
    }
    return super.onTouchEvent(event);
}

注意:尚未尝试此代码。

于 2012-10-24T07:37:54.747 回答
1

将 onClick 属性添加到您的布局 xml,并在您的活动中实现 onClick 方法以启动新活动。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="onClick"
android:orientation="vertical" >

在您的活动中添加一个 onClick 方法。

public void OnClick(View v) {
  startActivity(new Intent(this,MyNewActivity.class));
}
于 2012-10-24T07:36:17.147 回答
1

我认为您的主屏幕具有线性,相对,框架的父布局。参考它并处理点击监听器。

例如:如果您的父布局是线性的。

LinearLayout linear=(LinearLayout)findViewById(R.id.linear);

 linear.setOnClickListener(this);
于 2012-10-24T07:37:21.880 回答