当前位置: 首页 > 知识库问答 >
问题:

向下移动线性布局

夏学名
2023-03-14

我正在开发一个应用程序,在一个xml文件中有两个线性布局。开始时,一个线性布局设置为不可见。当用户按下按钮时,可见的线性布局应向下滑动90%,并显示第二个线性布局。我编写了动画文件,并使其运行良好。我的问题是,在动画之后,视图会回到原来的状态。如何向下移动第一个线性布局以显示第二个线性布局?有什么帮助吗?

主活动文件:

    public class MainActivity extends Activity implements   OnClickListener,AnimationListener{

LinearLayout main,menu;
    Button B;
    Animation slideUp;
    LinearLayout.LayoutParams params;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
       slideUp = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.main_slide_down);
    main=(LinearLayout)findViewById(R.id.maincontent);
    menu=(LinearLayout)findViewById(R.id.mainmenu);
    B= (Button)findViewById(R.id.button1);
    B.setOnClickListener(this);



    main.setLayoutAnimationListener(this);




}



@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId())
    {
       case R.id.button1:
        // main.setAnimation(slideUp);
        menu.setVisibility(View.VISIBLE);
        main.startAnimation(slideUp);


        break;

    }

}

}

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"

tools:context=".MainActivity" >


<LinearLayout 
    android:layout_height="match_parent"
     android:layout_width="match_parent"
     android:id="@+id/mainmenu"
     android:background="#6F26F0"
     android:visibility="invisible" 
     android:orientation="vertical"
    >
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

 </LinearLayout>


  <LinearLayout 
       android:layout_height="match_parent"
     android:layout_width="match_parent"
     android:id="@+id/maincontent"
      android:background="#3BED00"
         android:orientation="vertical"
    >

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



   </LinearLayout>





  </RelativeLayout>

共有3个答案

柯甫
2023-03-14

您可能需要正确设置布局权重属性,以使其占据90%的空间(0.9布局权重)。可见性可以在可见和消失之间切换。

孟胤
2023-03-14

如何向下移动第一个线性布局以显示第二个线性布局?

好了,给你:

            main.startAnimation(slideUp);
            slideUp.setFillAfter(true);
            slideUp.setAnimationListener(new AnimationListener()
            {

                @Override
                public void onAnimationStart(Animation animation) {}

                @Override
                public void onAnimationRepeat(Animation animation) {}

                @Override
                public void onAnimationEnd(Animation animation) {

               // Make Your 1st Linearlayout Invisible/Gone &
               // Make your 2nd Linearlayout Visible here.

                }
            });
葛泳
2023-03-14

让我们放弃动画,转而使用布局技巧!

以下是您需要做的:

xml

•将根布局更改为LinearLayout

•将android:animateLayoutChanges=“true”添加到根目录的主菜单中

android:id=“@id/main菜单”

•将可见性更改为android:visibility=“gone”

·将高度更改为android:layout_height="0dp"

•添加android:layout_weight=“1”

android:id=“@id/maincontent”

•将高度更改为android:layout_height=“wrap_content”

现在怎么办?

您完成了!只需将主菜单的可见性更改为单击按钮即可看到!

 类似资料:
  • 我制作了一个身体,我想在点击按钮时移动它,我已经能够使用但它不准确。假设我想以40的线速度移动我的身体7米,我该怎么做? 我可以用身体。setTransform()但我需要身体真正移动,而不是传送。提前谢谢

  • 我有一个下拉菜单,除了一个我无法解决的小错误外,它工作得很好。 第一个下拉框项正常出现。然而,第二个下拉框项稍微向右移动。我猜想是我设置的链接的边距导致下拉框稍微向右移动。如果是这样的话,我能做些什么来解决这个问题呢? 这是一个简单的导航菜单,它将drop菜单项的位置设置为绝对位置,并由父元素的overflow:隐藏功能隐藏。悬停时,下拉框会显示溢出:可见。 现场在这里- CSS 超文本标记语言

  • 我正在用python编写一个蛇游戏,蛇可以向上、向左和向右移动,当我试图向下移动时(使用箭头)总是会出错。我正在处理碰撞,因为蛇会与自身碰撞(蛇头接触身体),屏幕将显示“游戏结束-你输了”。

  • 与属性自动装配相比,构造函数自动装配有什么特殊的优势吗……或者普通的优势。?优于迫使团队在Spring启动中使用构造函数自动装配……它有什么特殊的优势吗?两种类型的自动装配的优缺点

  • 我正在一个屏幕上工作,其中有一个产品的工具栏信息和类似产品的列表。 除了滚动,一切都很好。当recyclerview出现在屏幕上时,滚动不顺畅。我认为这个想法应该是在没有滚动条的情况下使用recycler视图。因为现在看起来我有两个滚动条,这让滚动很痛苦。有没有一种方法可以让我禁用recyclerview的滚动条,并将其拉伸到所需的高度,让父滚动条平滑地滚动我的屏幕? 我使用的是StaggedGr

  • 主要内容:本节引言,1.本节学习图,2.weight(权重)属性详解:,3.为LinearLayout设置分割线,4.LinearLayout的简单例子:,5.注意事项:本节引言 本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 而今天我们要讲解的就是