初めて質問させていただきます。最近Androidの開発を始めました。
実現したいのは、チェックボックスがチェックされたさいにEditTextがゆっくり上から降りくる、チェックボックスのチェックが外れた際にゆっくに上に動いて消えていくというものです。
現状はチェックボックスがチェックされた場合EditTextがゆっくり降りてくることはできたのですが、チェックが外された際に急にEditTextが消えてしまいます。
MainActivity.java
childView = (EditText)findViewById(R.id.childview);
chkbox = (CheckBox)findViewById(R.id.checkBox);
chkbox2 = (CheckBox)findViewById(R.id.checkBox2);
inAnimation = (Animation) AnimationUtils.loadAnimation(this, R.anim.in_animation);
outAnimation= (Animation) AnimationUtils.loadAnimation(this, R.anim.out_animation);
chkbox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // ビューが表示されてるか判定 if(childView.getVisibility() == View.GONE){ // アニメーションしながらViewを表示 childView.startAnimation(inAnimation); childView.setVisibility(View.VISIBLE); } else{ // アニメーションしながらViewを隠す childView.startAnimation(outAnimation); childView.setVisibility(View.GONE); } } }); chkbox2.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ if(childView2.getVisibility() == View.GONE){ childView2.startAnimation(inAnimation); childView2.setVisibility(View.VISIBLE); } else{ childView2.startAnimation(outAnimation); childView2.setVisibility(View.GONE); } }
<LinearLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_below="@+id/linearLayout" >
<EditText android:id="@+id/childview" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:text="child view here!!" android:fontFamily= "sans-serif-light" android:textSize="30sp" android:textColor="#e2f2f8" android:gravity="center" android:visibility="gone" android:background="#17abe1"/> </LinearLayout>
in_animation
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fillAfter="false" android:fromXDelta="0" android:fromYDelta="-40%" android:toXDelta="0" android:toYDelta="0" /> </set>個人的にはアニメーションが完了する前にchildviewがgoneになりViewのサイズが変わってしまったのではないかと思っています。
最近開発を始めたので上手く質問できてないと思いますが、何卒よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/03 04:15