我一直在研究单屏安卓应用程序,但是我无法让我的TranslateAnimation方法正常运行。我正在寻找视图组从应用程序滑动到设计完成的位置。
你们可以带一个雄鹅,让我知道我做错了什么吗?
Java活动:
public class AboutProcess extends AppCompatActivity {
Button myButton;
View myView;
boolean isUp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about_process);
myView = findViewById(R.id.my_view);
myButton = findViewById(R.id.my_button);
//set as invisible
myView.setVisibility(View.INVISIBLE);
isUp = false;
}
public void slideUp(View view) {
view.setVisibility(View.VISIBLE);
TranslateAnimation animate = new TranslateAnimation(
0, // fromXDelta
0, // toXDelta
view.getHeight(), // fromYDelta
0); // toYDelta
animate.setDuration(50);
animate.setFillAfter(true);
view.startAnimation(animate);
}
// slide the view from its current position to below itself
public void slideDown(View view) {
TranslateAnimation animate = new TranslateAnimation(
0, // fromXDelta
0, // toXDelta
0, // fromYDelta
view.getHeight()); // toYDelta
animate.setDuration(50);
animate.setFillAfter(true);
view.startAnimation(animate);
}
public void onSlideViewButtonClick(View view) {
if (isUp) {
slideDown(myView);
myButton.setText("SHOW LINKS");
} else {
slideUp(myView);
myButton.setText("HIDE LINKS");
}
isUp = !isUp;
}
}
这里是按钮点击的XML和我试图在屏幕上设置动画的视图组。 LinearLayout中有一组四个图像。
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lasvegas"
android:text="SHOW LINKS"
android:backgroundTint="@color/colorPrimaryDark"
android:textSize="@dimen/med_font"
android:textColor="@color/colorAccent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent"/>
<LinearLayout
android:id="@+id/my_view"
android:layout_width="match_parent"
android:layout_height="125dp"
android:layout_marginBottom="@dimen/padding50"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent">
<ImageButton
android:contentDescription="@string/desc"
android:id="@+id/fb"
android:onClick="buttonFB"
android:src="@drawable/white_fb"
android:background="@null"
android:scaleType="centerInside"
android:layout_height="match_parent"
android:layout_width="0dp"
android:padding="@dimen/padding15"
android:layout_weight="1" />
<ImageButton
android:contentDescription="@string/desc"
android:id="@+id/youtube"
android:onClick="buttonTube"
android:src="@drawable/white_tube"
android:background="@null"
android:scaleType="centerInside"
android:layout_height="match_parent"
android:layout_width="0dp"
android:padding="@dimen/padding15"
android:layout_weight="1" />
<ImageButton
android:contentDescription="@string/desc"
android:id="@+id/tweet"
android:onClick="buttonTweet"
android:src="@drawable/white_tweet"
android:background="@null"
android:scaleType="centerInside"
android:layout_height="match_parent"
android:layout_width="0dp"
android:padding="@dimen/padding15"
android:layout_weight="1" />
<ImageButton
android:contentDescription="@string/desc"
android:id="@+id/www"
android:onClick="buttonWWW"
android:src="@drawable/white_www"
android:background="@null"
android:scaleType="centerInside"
android:layout_height="match_parent"
android:layout_width="0dp"
android:padding="@dimen/padding15"
android:layout_weight="1" />
</LinearLayout>
当我在我的设备上实现此代码时,按钮显示并且是“可点击的”但视图组不在我的屏幕上,我也无法在任何时候找到它。我缺少什么想法(或者如何以不同的方式为这个概念编程动画)?