相关疑难解决方法(0)

Android在设置时添加简单的动画(view.Gone)

我设计了一个简单的布局.我已经完成了没有动画的设计,但现在我想在textview点击事件时添加动画,我不知道如何使用它.我的xml设计看起来好不好?任何建议,将不胜感激.

我的XML

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:longClickable="false"
    android:orientation="vertical"
    android:weightSum="16" >

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:orientation="vertical"
    android:background="#00DDA0"
    android:layout_weight="3" >
</LinearLayout>
 <TextView
        android:id="@+id/Information1"
        android:layout_width="match_parent"
        android:layout_height="1dp" 
        android:text="Child Information" 
        android:background="#0390BE"
        android:layout_weight="0.75"
        android:textColor="#FFFFFF"
        android:layout_gravity="center|fill_horizontal"/>

 <LinearLayout
     android:id="@+id/layout1"
     android:layout_width="fill_parent"
     android:layout_height="0dp"
     android:layout_weight="8.5"
     android:background="#BBBBBB"
     android:orientation="vertical" >

     <TextView
         android:id="@+id/textView1"
         android:layout_width="match_parent"
         android:layout_height="match_parent"        
         android:text="TextView" />
 </LinearLayout>

  <TextView
        android:id="@+id/Information2"
        android:layout_width="match_parent"
        android:layout_height="0dp" 
        android:text="Parent Information" 
        android:background="#0390BE"
        android:layout_weight="0.75"
        android:textColor="#FFFFFF"
        android:layout_gravity="center|fill_horizontal"/>
  <LinearLayout 
          android:id="@+id/layout2"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:orientation="vertical"
    android:background="#BBBBBB"
    android:layout_weight="8.5" >
     <TextView
         android:id="@+id/textView2"
         android:layout_width="match_parent"
         android:layout_height="match_parent"        
         android:text="TextView" />
      </LinearLayout>
   <TextView
        android:id="@+id/Information3"
        android:layout_width="match_parent"
        android:layout_height="0dp" 
        android:text="Siblings" 
        android:background="#0390BE"
        android:layout_weight="0.75"
        android:textColor="#FFFFFF"
        android:layout_gravity="center|fill_horizontal"/> …
Run Code Online (Sandbox Code Playgroud)

java android android-animation

204
推荐指数
8
解决办法
19万
查看次数

如何制作Android自定义键盘?

我想制作一个自定义键盘.我不知道如何在xml和activity中做到这一点.这张照片是我的键盘型号.它只需要数字.

在此输入图像描述

keyboard android

92
推荐指数
7
解决办法
15万
查看次数

从屏幕底部向上滑动布局

我有一个隐藏在视图中的布局.在按钮上单击,我希望它从底部向上滑动,向上推动整个屏幕内容,非常类似于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>
Run Code Online (Sandbox Code Playgroud)

活动(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;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    hiddenPanel …
Run Code Online (Sandbox Code Playgroud)

layout android uislider

86
推荐指数
5
解决办法
17万
查看次数

Android - 如何在屏幕外定位View?

我正在尝试在我的应用程序中为一个简单的ImageView设置动画,我希望它从屏幕底部滑入并进入静止位置,其中视图的顶部50px离开屏幕顶部(例如最终位置)在X中,ImageView应该是-50px.我曾尝试使用AbsoluteLayout来做到这一点,但这实际上切断了ImageView的前50px,使得前50px永远不会被渲染.我需要让ImageView的前50px可见/渲染,同时它是动画,然后让它稍微离开屏幕.我希望我已经解释得那么好了.

这是我目前正在使用的布局和幻灯片动画(这当前不会渲染ImageView的前50px):

布局:

<?xml version="1.0" encoding="utf-8"?>
   <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      android:id="@+id/QuickPlayClipLayout">
      <ImageView android:id="@+id/Clip"
         android:background="@drawable/clip" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:layout_y="-50dp">
      </ImageView>
   </AbsoluteLayout>
Run Code Online (Sandbox Code Playgroud)

动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
   <translate android:fromYDelta="100%p" 
       android:toYDelta="0"
       android:duration="1000"/>
   <alpha android:fromAlpha="0.0" 
       android:toAlpha="1.0"
       android:duration="1000" />
</set>
Run Code Online (Sandbox Code Playgroud)

提前致谢.

layout animation android imageview

61
推荐指数
5
解决办法
8万
查看次数

animateLayoutChanges与嵌套布局不兼容?

我有一个嵌套的布局,如下所示:

 <LinearLayout>     <!----Parent layout--->
    <LinearLayout>    <!-----child 1--->
       ...
    </LinearLayout>   <!----child 1 ended--->
    <LinearLayout>    <!-----child 2--->
       ...
    </LinearLayout>   <!----child 2 ended--->
 </LinearLayout>    <!----Parent endded--->
Run Code Online (Sandbox Code Playgroud)

我现在遇到的问题是,由于我的所有数据项都在子项1或子项2中Linearlayout,如果我添加或删除项目,子行为布局将使用animateLayoutChanges的效果进行动画处理,但父布局不会执行任何动画.(我已android:animateLayoutChanges设置true为所有线性布局).特别是当我删除子1中的项目时,动画效果变得怪异(基本上,当孩子1仍然在做动画时,孩子2会跳起来).

有谁知道如何解决这个问题?

谢谢

UPDATE

在我发布这个问题后不久,我在LayoutTransition API的android开发者网站上发现了这个问题.

由于各种布局级别的相互关系,在嵌套视图层次结构的多个级别使用LayoutTransition可能不起作用.

那么有没有人有任何关于这个问题的建议呢?

android android-animation android-layout

42
推荐指数
4
解决办法
2万
查看次数

带动画的Slidedown和slideup布局

当我按下按钮时,如何使用slideUp在中心显示布局,再按一次以隐藏...在ANDROID中的slideDown

帮助我,thnkss

animation android slidedown slideup

41
推荐指数
3
解决办法
10万
查看次数

TranslateAnimation后无法点击按钮

我正试图在点击时移动按钮(带动画).我希望它在第一次点击时向下移动100个像素,在第二个点上移动100个像素,在第三个点上移动100个像素到底部,依此类推.我有简单的布局文件(main.xml):

<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Press to begin animation" />
Run Code Online (Sandbox Code Playgroud)

我的发布活动如下:

public class TestActivity extends Activity {
public final String TAG="TestActivity";
boolean toTop=false;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    Button b=(Button)findViewById(R.id.button);
    b.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Toast.makeText(TestActivity.this, "left="+v.getLeft()+"\nright="+v.getRight(), Toast.LENGTH_SHORT).show();

            Animation translateAnimation;
            if(toTop) translateAnimation=new TranslateAnimation(0, 0, 0, -100); 
            else translateAnimation=new TranslateAnimation(0, 0, 0, 100);
            translateAnimation.setDuration(1000);
            translateAnimation.setFillEnabled(true);
            translateAnimation.setFillAfter(true);

            v.startAnimation(translateAnimation);
            toTop=!toTop;
        }
    });
}
}
Run Code Online (Sandbox Code Playgroud)

当我按下按钮时,我可以看到它移动到底部.但是当我第二次按它时,没有任何反应.我必须单击按钮的初始矩形才能再次开始动画.看起来按钮按预期绘制,但实际视图保持在同一位置.我想知道如何完全移动视图,而不仅仅是视觉部分.此外,我使用Toast.maketext.show来确保按钮的坐标不会因点击而改变.

animation android

16
推荐指数
2
解决办法
1万
查看次数

如何在XML中定义特定于屏幕大小的动画

我创建了一个AnimationFragments我的应用程序.的Animation选项卡之间移动动画,为此目的,我需要动画电流Fragment而需要完全移出屏幕Fragment中从相反侧滑动.有点像AnimationViewPager用途.

我需要指定绝对的开始和结束位置,View因为不同的设备具有不同的维度,我无法定义Animation适合所有设备的XML.在较大的设备上,View可能不会完全滑动屏幕,而在较小的设备上View移动到很多并且当他已经离开屏幕时继续移动.

所以我想我的问题是:如何在XML中定义一个动画,它将Fragment在屏幕外滑动,同时适合所有设备?

我的动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">      

  <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:propertyName="x" 
    android:valueType="floatType"
    android:valueTo="720" 
    android:valueFrom="0"
    android:duration="300"/>  

</set>
Run Code Online (Sandbox Code Playgroud)

android android-animation

10
推荐指数
1
解决办法
7076
查看次数

使用向上和向下滑动动画显示/隐藏视图

仍然显示和隐藏这样的视图:

if(isChecked)
{           
    linearLayoutMap.setVisibility(View.VISIBLE);
}
else 
{
    linearLayoutMap.setVisibility(View.GONE);               
}
Run Code Online (Sandbox Code Playgroud)

但是如果我必须使用"向上滑动"和"向下滑动动画"来显示和隐藏该怎么办

xml animation android android-animation

6
推荐指数
1
解决办法
2万
查看次数

平滑动画视图隐藏/显示线性布局android

我有一个包含4个嵌套线性布局的linearlayout.我需要隐藏第一个嵌套布局并显示2和3,然后隐藏2和3并显示第1个.我想用滑动效果来动画这些过渡.所以有屏幕的第一张幻灯片,然后是2和3幻灯片.我设法动画1滑动(虽然不是很顺利),但无法弄清楚如何从View.GONE到View.VISIBLE进行滑动.

如果没有动画我只是做setVisiblity 1日将其隐藏,然后setVisiblity的2/3拍他们,那么它是非常出问题和文字重叠.

请参阅下面我遇到的问题.

我用来隐藏/显示的代码:

        LinearLayout item2= (LinearLayout) rootView.findViewById(R.id.item2);
        LinearLayout item1= (LinearLayout) rootView.findViewById(R.id.item2);

            item1.setVisibility(View.GONE);
            item2.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android android-animation android-layout android-view

5
推荐指数
1
解决办法
5871
查看次数

如何向BottomSheetDialogFragment添加动画

我有一个BottomSheetDialogFragment,其中有两个按钮,当我点击任何按钮时,会调用dismiss()方法.有没有办法让BottomSheetDialogFragment动画化.我想让它显示一个持续时间为1000毫秒的慢速滑动动画.

示例代码

   signin.findViewById(R.id.signin_button_using).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            callback.onClickSignInEmail();
            dismiss();
        }
    })
Run Code Online (Sandbox Code Playgroud)

android android-animation bottom-sheet

4
推荐指数
1
解决办法
3565
查看次数

隐藏"LinearLayout"(View.GONE)并显示LinearLayout(View.VISIBLE)时添加动画

对不起我的英语...我会试着解释一下我想做什么.我有一个项目.它可以在链接下载:

如您所见,截图:

"隐藏/显示B布局"按钮隐藏并显示绿色容器 - "B布局".我希望在容器"B布局"显示时自上而下添加动画.当容器被隐藏时,动画从下往上.另外,我想要蓝色容器"C",逐渐与容器"B"一起落下.并且与容器"B"一起顺利上升.请帮我做.

下面复制我的代码:

主要活动

public class MainActivity extends Activity {
View Layout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Layout = findViewById(R.id.bLayout);

    final  View  button2  =  findViewById (R.id.button); 
    button2.setOnClickListener(new  View.OnClickListener(){

      @Override 
      public void onClick (View v){ 

          if ((Layout.getVisibility() == View.VISIBLE))
          {  

              Layout.setVisibility(View.GONE);
          }
          else
          {

            // Animation animFadeIn = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left);
            // Layout.setAnimation(animFadeIn);
             Layout.setVisibility(View.VISIBLE);

          }
      } 
    });

}
Run Code Online (Sandbox Code Playgroud)

}

animation android android-layout

1
推荐指数
1
解决办法
9113
查看次数