Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何创建facebook风格的底部飞入菜单_Android_Android Layout_Android Actionbar_Navigation Drawer_Android Menu - Fatal编程技术网

Android 如何创建facebook风格的底部飞入菜单

Android 如何创建facebook风格的底部飞入菜单,android,android-layout,android-actionbar,navigation-drawer,android-menu,Android,Android Layout,Android Actionbar,Navigation Drawer,Android Menu,我喜欢创建作为Facebook android应用程序的操作栏/菜单。 我说的是(状态|照片|签入)菜单,它出现在底部pf应用程序中 1.如何创建此类菜单 2.如何在该菜单上创建“飞入”效果 那是动作酒吧吗?还是在底部相对布局 谢谢。这是浮动布局的代码。您可以自定义它以生成菜单 public class MainActivity extends Activity { LinearLayout ll; Float startY; private Animation animUp; private

我喜欢创建作为Facebook android应用程序的操作栏/菜单。 我说的是(状态|照片|签入)菜单,它出现在底部pf应用程序中

1.如何创建此类菜单

2.如何在该菜单上创建“飞入”效果

那是动作酒吧吗?还是在底部相对布局


谢谢。

这是浮动布局的代码。您可以自定义它以生成菜单

public class MainActivity extends Activity {
LinearLayout ll;
Float startY;
private Animation animUp;
private Animation animDown; 
Button btn_show;
int f=1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         ll = (LinearLayout) findViewById(R.id.slider); 
         btn_show=(Button)findViewById(R.id.btn_show);
         ll.setVisibility(View.GONE); 
         animUp = AnimationUtils.loadAnimation(this, R.anim.anim_up); 
         animDown = AnimationUtils.loadAnimation(this, R.anim.anim_down); 

         btn_show.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(f==1)
                {
                 ll.setVisibility(View.VISIBLE);
                 ll.startAnimation(animUp);
                 f=0;
                }
                else{
                    ll.setVisibility(View.GONE); 
                     ll.startAnimation(animDown);
                     f=1;
                }
            }
        });


    }

    @Override
    public boolean onTouchEvent(MotionEvent event) 
    { 
        switch (event.getAction()) 
        { 
        case MotionEvent.ACTION_DOWN : 
        { 
            startY = event.getY(); 
            break ;
            } 
        case MotionEvent.ACTION_UP: 
            { 
                float endY = event.getY();
                if (endY < startY)
                {
                    System.out.println("Move UP"); 
                    ll.setVisibility(View.VISIBLE);
                    ll.startAnimation(animUp); 
                    } 
                else {
                    ll.setVisibility(View.GONE); 
                     ll.startAnimation(animDown);
                    } 
                } 
            } return true; 
    }


}
公共类MainActivity扩展活动{
线性布局;
浮星;
私人动画制作;
私人动画下载;
按钮显示;
int f=1;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ll=(线性布局)findViewById(R.id.slider);
btn_show=(按钮)findviewbyd(R.id.btn_show);
ll.setVisibility(View.GONE);
animUp=AnimationUtils.loadAnimation(this,R.anim.anim\u up);
animtown=AnimationUtils.loadAnimation(this,R.anim.anim\u down);
btn_show.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
如果(f==1)
{
ll.setVisibility(View.VISIBLE);
法学硕士(阿尼姆普);
f=0;
}
否则{
ll.setVisibility(View.GONE);
ll.startAnimation(animDown);
f=1;
}
}
});
}
@凌驾
公共布尔onTouchEvent(运动事件)
{ 
开关(event.getAction())
{ 
case MotionEvent.ACTION\u DOWN:
{ 
startY=event.getY();
打破
} 
case MotionEvent.ACTION\u UP:
{ 
float endY=event.getY();
if(endY
活动\u main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/black">

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show"
        android:id="@+id/btn_show"
       />

     <LinearLayout android:id="@+id/slider" 
       android:layout_width="match_parent" 
       android:layout_height="50dp" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentLeft="false"
       android:layout_alignParentTop="false" 
       android:layout_centerInParent="true"
       android:background="@android:color/darker_gray" 
       android:content="@+id/content"
       android:gravity="bottom|center_horizontal"
       android:orientation="vertical" > 


         <TextView android:id="@id/content" 
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content" 
                   android:text="Floating Tab Kaustav"/>
            </LinearLayout>
   </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android">
      <translate android:fromYDelta="0%" 
          android:toYDelta="100%" 
          android:duration="400"/>
       </set> 
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="100%" 
        android:toYDelta="40%"
         android:duration="400"/> 
         </set> 

在res中创建一个anim文件夹,并创建2个xml文件:

anim\u down.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/black">

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show"
        android:id="@+id/btn_show"
       />

     <LinearLayout android:id="@+id/slider" 
       android:layout_width="match_parent" 
       android:layout_height="50dp" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentLeft="false"
       android:layout_alignParentTop="false" 
       android:layout_centerInParent="true"
       android:background="@android:color/darker_gray" 
       android:content="@+id/content"
       android:gravity="bottom|center_horizontal"
       android:orientation="vertical" > 


         <TextView android:id="@id/content" 
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content" 
                   android:text="Floating Tab Kaustav"/>
            </LinearLayout>
   </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android">
      <translate android:fromYDelta="0%" 
          android:toYDelta="100%" 
          android:duration="400"/>
       </set> 
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="100%" 
        android:toYDelta="40%"
         android:duration="400"/> 
         </set> 

anim\u up.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/black">

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show"
        android:id="@+id/btn_show"
       />

     <LinearLayout android:id="@+id/slider" 
       android:layout_width="match_parent" 
       android:layout_height="50dp" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentLeft="false"
       android:layout_alignParentTop="false" 
       android:layout_centerInParent="true"
       android:background="@android:color/darker_gray" 
       android:content="@+id/content"
       android:gravity="bottom|center_horizontal"
       android:orientation="vertical" > 


         <TextView android:id="@id/content" 
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content" 
                   android:text="Floating Tab Kaustav"/>
            </LinearLayout>
   </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android">
      <translate android:fromYDelta="0%" 
          android:toYDelta="100%" 
          android:duration="400"/>
       </set> 
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="100%" 
        android:toYDelta="40%"
         android:duration="400"/> 
         </set> 

试试看,希望有帮助