【问题标题】:i want to make slide menu with 3D effect like the below image我想制作具有 3D 效果的幻灯片菜单,如下图所示
【发布时间】:2014-03-13 04:25:16
【问题描述】:

我可以使用此代码制作滑块。但我不知道如何制作成 3D。

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageButton;

import com.navdrawer.SimpleSideDrawer;

public class MainScreen extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main_screen);

if (savedInstanceState == null) {
    getSupportFragmentManager().beginTransaction()
            .add(R.id.container, new    PlaceholderFragment()).commit();
}
}

/**
 * A placeholder fragment containing a simple view.
 */
public static class PlaceholderFragment extends Fragment implements
    OnClickListener {
private ImageButton _Menu;
private SimpleSideDrawer slide_me;

public PlaceholderFragment() {
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_main_screen,
            container, false);
    slide_me = new SimpleSideDrawer(getActivity());
    slide_me.setLeftBehindContentView(R.layout.slider_menu_inflator);

    _Menu = (ImageButton) rootView.findViewById(R.id.menu);
    _Menu.setOnClickListener(this);
    return rootView;
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.menu:
        slide_me.toggleLeftDrawer();
        break;

    default:
        break;
    }
}
}
}

【问题讨论】:

  • 您好,您是否曾经实现过,或者您只是使用 AndroidResideMenu
  • 是的,检查接受的答案。

标签: android animation user-interface navigation-drawer


【解决方案1】:

使用 AndroidResideMenu库来制作具有3D效果的幻灯片菜单

【讨论】:

  • 我做到了。在 ResideMenu.buildScaleDownAnimation 改变 scaleDown.playTogether(ObjectAnimator.ofFloat(target, "scaleX", targetScaleX), ObjectAnimator.ofFloat(target, "scaleY", targetScaleY));添加 ObjectAnimator.ofFloat(target, "rotationY", -20) 并在 ResideMenu.buildScaleUpAnimation 中更改 scaleUp.playTogether(ObjectAnimator.ofFloat(target, "scaleX", targetScaleX), ObjectAnimator.ofFloat(target, "scaleY", targetScaleY)) ;添加 ObjectAnimator.ofFloat(target, "rotationY", 0)
  • @Nevaeh 进入库项目并打开residemenu_item.xml 在文本视图下添加一个线性布局,高度为2 dp。通过这个你可以创建一个分隔符
  • 请给我residemenu_item.xml完整文件
【解决方案2】:

要给它一个 3D 平移效果,你需要在视图前面放置一个摄像头,然后平移摄像头并随之改变角度。检查下面的代码以获得与 imageview 类似的效果。您可以选择该部分代码并根据需要进行修改:

https://code.google.com/p/android-coverflow/

【讨论】:

  • 当我们点击自定义标题栏中的该菜单按钮时,它像 facebook 一样是一个滑块菜单,然后菜单将像我发布的图像一样打开,并且活动将通过 3d 动画移动到右侧。好吧coverflow 与此流程完全不同。 @Sushil
  • @Pankaj .. 我知道你在谈论 FB 中的滑块菜单。不要专注于 Coverflow 设计。只关注提供 3D 翻译的代码。它通过将相机侧向移动并远离视图。尝试将这种动画添加到您的滑块菜单代码中。
  • 我明白了逻辑 dude.thnx
猜你喜欢
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多