Java Android没有设置相对布局的动画
我正在创建一个相对的布局,我想应该从上面滑入布局,所以这里是我所做的Java Android没有设置相对布局的动画,java,android,android-animation,android-relativelayout,Java,Android,Android Animation,Android Relativelayout,我正在创建一个相对的布局,我想应该从上面滑入布局,所以这里是我所做的 使布局不可见 在oncreate中,为屏幕上方的布局设置动画 在onWindowsFocusChanged()中,我调用了动画,使布局可见,并希望布局滑入屏幕 但是 创建视图时,布局位于正确位置,不会显示来自屏幕顶部的任何滑动效果 public class OverlayActivity extends Activity implements View.OnClickListener { RelativeLayout qu
public class OverlayActivity extends Activity implements View.OnClickListener {
RelativeLayout question_box;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_overlay);
// Slide Up the INVISIBLE layout so that I can call it by animation back to its original position
question_box = findViewById(R.id.question_box);
question_box.animate().translationY(-question_box.getHeight());
final Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
}
public void animateInObjects() {
question_box.setVisibility(View.VISIBLE);
question_box.animate().setDuration(1000).translationY(0);
}
@Override
public void onClick(View v) {
//Some Code
}
@Override
protected void onStop() {
super.onStop();
finish();
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
animateInObjects();
super.onWindowFocusChanged(hasFocus);
}
}
布局
<RelativeLayout
android:id="@+id/question_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:layout_marginTop="5dp"
android:layout_below="@+id/ad_view_container"
android:visibility="invisible">
<TextView
android:id="@+id/question"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/questiontext"
android:paddingStart="20dp"
android:paddingTop="7dp"
android:paddingEnd="20dp"
android:paddingBottom="20dp"
android:text="@string/sample_question"
android:textAlignment="center"
android:textColor="@color/text_quest"
android:textSize="23sp" />
<View
android:id="@+id/center_vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_centerVertical="true" />
<LinearLayout
android:id="@+id/cover_opt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/question"
android:layout_marginStart="15dp"
android:layout_marginTop="10dp"
android:background="@drawable/main_layout">
<Button
android:id="@+id/opt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="1dp"
android:layout_marginHorizontal="2dp"
android:background="@android:color/transparent"
android:text="@string/sample_number"
android:textAlignment="center"
android:textColor="@color/text_quest"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/cover_opt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/question"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:background="@drawable/main_layout">
<Button
android:id="@+id/opt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="1dp"
android:layout_marginHorizontal="2dp"
android:background="@android:color/transparent"
android:text="@string/sample_number"
android:textAlignment="center"
android:textColor="@color/text_quest"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/cover_opt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/question"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:background="@drawable/main_layout">
<Button
android:id="@+id/opt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="1dp"
android:layout_marginHorizontal="2dp"
android:background="@android:color/transparent"
android:text="@string/sample_number"
android:textAlignment="center"
android:textColor="@color/text_quest"
android:textSize="18sp" />
</LinearLayout>
</RelativeLayout>
这是活动的主题
<style name="Theme.Lockscreen" parent="Theme.AppCompat.NoActionBar">
<item name="android:background">#33000000</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
#33000000
符合事实的
@android:彩色/透明
@空的
符合事实的
@android:风格/动画
您可以尝试使用onCreate方法设置视图的动画。首先,视图尚未绘制,您会得到一个getHeight=0
。因此,当使用view.getViewTreeObserver().addOnGlobalLayoutListener绘制视图时,您必须等待,才能为其设置动画
您需要在onCreate()上添加以下内容:
您可以尝试使用onCreate方法设置视图的动画。首先,视图尚未绘制,您会得到一个getHeight=0
。因此,当使用view.getViewTreeObserver().addOnGlobalLayoutListener绘制视图时,您必须等待,才能为其设置动画
您需要在onCreate()上添加以下内容:
尝试将其作为您的xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromYScale="0"
android:toYScale="50%"
android:duration="1000"></scale>
</set>
要将其保留到屏幕的一半并分别排列布局,请尝试将其作为xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromYScale="0"
android:toYScale="50%"
android:duration="1000"></scale>
</set>
要将其保留到屏幕的一半,并分别排列布局是的,我将值设为100,它位于该位置,但没有显示任何滑动动画,就像它被传送到那个位置一样好吧,我会亲自尝试,抱歉我删除了我的评论是的,我把值设为100,它在那个位置,但它没有显示任何滑动动画,就像它被传送到那个位置一样好吧,我会亲自尝试,抱歉,我删除了我的评论