android– 从屏幕底部向上滑动布局

android– 从屏幕底部向上滑动布局,第1张

概述我有一个隐藏在视图中的布局.在按钮上单击,我希望它从底部向上滑动,向上推动整个屏幕内容,非常类似于whatsapp在聊天屏幕中显示表情符号面板的方式.我见过SlidingDrawer,这对我不起作用.它需要一个图像作为一个手柄,显示在屏幕的中心,我不希望这样.它还会滑动现有的屏幕内容,我正

我有一个隐藏在视图中的布局.在按钮上单击,我希望它从底部向上滑动,向上推动整个屏幕内容,非常类似于whatsapp在聊天屏幕中显示表情符号面板的方式.

我见过SlIDingDrawer,这对我不起作用.它需要一个图像作为一个手柄,显示在屏幕的中心,我不希望这样.它还会滑动现有的屏幕内容,我正在寻找一种向上移动现有内容的方法.

更新1:

我尝试使用Sanket Kachhela建议的动画.但隐藏的布局从未显示过.这是代码.

布局(activity_main.xml):

<relativeLayout    androID:ID="@+ID/main_screen"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent" >    <TextVIEw        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:text="@string/hello_world"         androID:layout_alignParenttop="true"/>     <TextVIEw       androID:layout_wIDth="wrap_content"       androID:layout_height="wrap_content"       androID:text="@string/hello_world"        androID:layout_centerInParent="true"/>    <button        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:text="SlIDe up / down"        androID:layout_alignParentBottom="true"         androID:onClick="slIDeupdown"/></relativeLayout><relativeLayout    androID:ID="@+ID/hIDden_panel"    androID:layout_wIDth="match_parent"    androID:layout_height="wrap_content"     androID:layout_below="@ID/main_screen">    <button        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:text="@string/app_name" /></relativeLayout>

活动(MainActivity.java):

package com.example.slIDeuplayout;import androID.app.Activity;import androID.os.Bundle;import androID.vIEw.Menu;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.vIEw.animation.Animation;import androID.vIEw.animation.AnimationUtils;public class MainActivity extends Activity {private VIEwGroup hIDdenPanel;private boolean isPanelShown;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_main);    hIDdenPanel = (VIEwGroup)findVIEwByID(R.ID.hIDden_panel);    hIDdenPanel.setVisibility(VIEw.INVISIBLE);    isPanelShown = false;}@OverrIDepublic boolean onCreateOptionsMenu(Menu menu) {    // Inflate the menu; this adds items to the action bar if it is present.    getMenuInflater().inflate(R.menu.main, menu);    return true;}public voID slIDeupdown(final VIEw vIEw) {    if(!isPanelShown) {        // Show the panel        Animation bottomUp = AnimationUtils.loadAnimation(this,                R.anim.bottom_up);        hIDdenPanel.startAnimation(bottomUp);        hIDdenPanel.setVisibility(VIEw.VISIBLE);        isPanelShown = true;    }    else {        // HIDe the Panel        Animation bottomDown = AnimationUtils.loadAnimation(this,                R.anim.bottom_down);        hIDdenPanel.startAnimation(bottomDown);        hIDdenPanel.setVisibility(VIEw.INVISIBLE);        isPanelShown = false;    }}}

动画:

bottom_up.xml:

<?xml version="1.0" enCoding="utf-8"?> <set xmlns:androID="http://schemas.androID.com/apk/res/androID">    <translate        androID:fromYDelta="75%p"       androID:toYDelta="0%p"       androID:fillAfter="true"       androID:duration="500" /></set>

bottom_down.xml:

<?xml version="1.0" enCoding="utf-8"?> <set xmlns:androID="http://schemas.androID.com/apk/res/androID"><translate     androID:fromYDelta="0%p"     androID:toYDelta="100%p"     androID:fillAfter="true"    androID:interpolator="@androID:anim/linear_interpolator"    androID:duration="500" /></set>

有什么想法可以做到这一点?

谢谢.

@R_419_6120@:

使用这些动画:

bottom_up.xml

<?xml version="1.0" enCoding="utf-8"?> <set xmlns:androID="http://schemas.androID.com/apk/res/androID">   <translate androID:fromYDelta="75%p" androID:toYDelta="0%p"     androID:fillAfter="true" androID:duration="500"/></set>

bottom_down.xml

 <?xml version="1.0" enCoding="utf-8"?> <set xmlns:androID="http://schemas.androID.com/apk/res/androID"><translate androID:fromYDelta="0%p" androID:toYDelta="100%p" androID:fillAfter="true"            androID:interpolator="@androID:anim/linear_interpolator"    androID:duration="500" /></set>

在您的活动中使用此代码隐藏/动画您的视图:

Animation bottomUp = AnimationUtils.loadAnimation(getContext(),            R.anim.bottom_up);VIEwGroup hIDdenPanel = (VIEwGroup)findVIEwByID(R.ID.hIDden_panel);hIDdenPanel.startAnimation(bottomUp);hIDdenPanel.setVisibility(VIEw.VISIBLE);
总结

以上是内存溢出为你收集整理的android – 从屏幕底部向上滑动布局全部内容,希望文章能够帮你解决android – 从屏幕底部向上滑动布局所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存