我设计了一个简单的布局.我已经完成了没有动画的设计,但现在我想在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) 我想制作一个自定义键盘.我不知道如何在xml和activity中做到这一点.这张照片是我的键盘型号.它只需要数字.

我有一个隐藏在视图中的布局.在按钮上单击,我希望它从底部向上滑动,向上推动整个屏幕内容,非常类似于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) 我正在尝试在我的应用程序中为一个简单的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)
提前致谢.
我有一个嵌套的布局,如下所示:
<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可能不起作用.
那么有没有人有任何关于这个问题的建议呢?
当我按下按钮时,如何使用slideUp在中心显示布局,再按一次以隐藏...在ANDROID中的slideDown
帮助我,thnkss
我正试图在点击时移动按钮(带动画).我希望它在第一次点击时向下移动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在Fragments我的应用程序.的Animation选项卡之间移动动画,为此目的,我需要动画电流Fragment而需要完全移出屏幕Fragment中从相反侧滑动.有点像Animation的ViewPager用途.
我需要指定绝对的开始和结束位置,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) 仍然显示和隐藏这样的视图:
if(isChecked)
{
linearLayoutMap.setVisibility(View.VISIBLE);
}
else
{
linearLayoutMap.setVisibility(View.GONE);
}
Run Code Online (Sandbox Code Playgroud)
但是如果我必须使用"向上滑动"和"向下滑动动画"来显示和隐藏该怎么办
我有一个包含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)

我有一个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) 对不起我的英语...我会试着解释一下我想做什么.我有一个项目.它可以在链接下载:
如您所见,截图:
"隐藏/显示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)
}