我们可以在min3d屏幕内嵌入按钮吗?

时间:2013-07-29 11:35:46

标签: android min3d

是否可以在Android中使用Min3d框架完成的工作3D动画的底部插入一个按钮。我有一个正在旋转的工作三维模型车。我想在这个工作动画屏幕的底部放一个按钮。是否有可能,因为我没有使用任何布局。请用一个例子解释我,以便我可以复制我的程序。

1 个答案:

答案 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()功能的更多信息,您可以参考herehere

您还可以通过使用照明属性来添加额外效果,如here

所述

添加到布局中的基本示例取自here。同一页面还提供了许多示例的链接,以备将来使用时使用。