是否可以在Android中使用Min3d框架完成的工作3D动画的底部插入一个按钮。我有一个正在旋转的工作三维模型车。我想在这个工作动画屏幕的底部放一个按钮。是否有可能,因为我没有使用任何布局。请用一个例子解释我,以便我可以复制我的程序。
答案 0 :(得分:0)
是。相反,该过程是使用glSurfaceView将min3d框架添加到布局中。下面的cocde重点介绍了如何实现相同的功能,假设您已经涵盖了其他基础知识(例如加载对象)。如果没有,则在本简报的最后提供相同的链接。
//import statements
public class threedviewActivity extends RendererActivity implements View.OnClickListener,View.OnTouchListener{
//onClick and onTouch in case you want to recognize both touch and click on the button
//initialize the variables you require
@Override
public void onCreateSetContentView() {
setContentView(R.layout.activity_example);
RelativeLayout R1 = (RelativeLayout)this.findViewById(R.id.SceneHolder);
R1.addView(_glSurfaceView); //adding the min3d view into the layout
Button example_1 = (Button)this.findViewById(R.id.example_1);
Button example_2 = (Button)this.findViewById(R.id.example_2);
example_1.setOnTouchListener(this);
example_2.setOnClickListener(this);
}
public boolean onTouch(View $v, MotionEvent event) {
switch($v.getId())
{
case R.id.example_1:
//Your actions and things to do
case R.id.example_2:
//your code
}
}
public void onClick(View $v)
{
//similar to above
}
public void initScene()
{
//initialize object and other activities related to the 3d container
}
@Override
public void updateScene()
{
//update effects such as rotation on the object here, based on the button click or touch, etc.
}
}
包含布局/活动的xml文件应如下所示:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
//your data
android:id="@+id/example_1"
/>
<Button
//your data
android:id="@+id/example_2"
/>
<RelativeLayout
//nested layout which will hold the 3d container
android:id="@+id/SceneHolder">
</RelativeLayout>
</RelativeLayout>
要了解有关使用 initScene()功能的更多信息,您可以参考here和here。
您还可以通过使用照明属性来添加额外效果,如here
所述添加到布局中的基本示例取自here。同一页面还提供了许多示例的链接,以备将来使用时使用。