在我的项目的主课中,我有
public class MyClass extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mySurfaceView = new MySurfaceView(this);
setContentView(mySurfaceView);
...
}
class MySurfaceView extends SurfaceView implements Runnable{
...
}
}
我想向这个程序添加按钮和滚轮,我现在将其放在一个带有 main.xml 文件的单独的小程序中。我知道要访问它,我必须有线路setContentView(R.layout.main),但是随后,我失去了对 SurfaceView 的访问权限。我怎样才能同时拥有两者呢?我在网上看到一些关于使用 FrameLayout 添加几行的内容,但我不知道在哪里,并且我尝试将其粘贴在 main.xml 中的各个位置,但它只会导致我的整个程序中断。
目前我的 main.xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:id="@+id/selectButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Select Time Interval"
android:onClick="selfDestruct"
/>
<Button android:id="@+id/finishButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Done"
android:visibility="gone"
android:onClick="selfDestruct"
/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="top|left"
android:paddingLeft="12dp"
android:paddingRight="12dp"
>
<kankan.wheel.widget.WheelView android:id="@+id/startHour"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="43dp"/>
<kankan.wheel.widget.WheelView android:id="@+id/startMins"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<kankan.wheel.widget.WheelView android:id="@+id/startAmpm"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >
<TextView android:id="@+id/theWordTo"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:text=" to "/>
</LinearLayout>
<kankan.wheel.widget.WheelView android:id="@+id/endHour"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="43dp"
/>
<kankan.wheel.widget.WheelView android:id="@+id/endMins"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<kankan.wheel.widget.WheelView android:id="@+id/endAmpm"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>
</LinearLayout>
我想你想用框架布局 http://developer.android.com/reference/android/widget/FrameLayout.html。将 main.xml 更改为如下所示:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<kankan.current.app.MyClass.MySurfaceView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/surfaceView" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:id="@+id/selectButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Select Time Interval"
android:onClick="selfDestruct"
/>
<Button android:id="@+id/finishButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Done"
android:visibility="gone"
android:onClick="selfDestruct"
/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="top|left"
android:paddingLeft="12dp"
android:paddingRight="12dp"
>
<kankan.wheel.widget.WheelView android:id="@+id/startHour"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="43dp"/>
<kankan.wheel.widget.WheelView android:id="@+id/startMins"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<kankan.wheel.widget.WheelView android:id="@+id/startAmpm"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >
<TextView android:id="@+id/theWordTo"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:text=" to "/>
</LinearLayout>
<kankan.wheel.widget.WheelView android:id="@+id/endHour"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="43dp"
/>
<kankan.wheel.widget.WheelView android:id="@+id/endMins"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<kankan.wheel.widget.WheelView android:id="@+id/endAmpm"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>
</LinearLayout>
</FrameLayout>
然后在活动中:
public class MyClass extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mySurfaceView = (MySurfaceView) findViewById(R.id.surfaceView);
}
class MySurfaceView extends SurfaceView implements Runnable{
...
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)