我正在尝试添加一个动画微调器inside右侧的 EditText 视图。并以编程方式显示/隐藏它。
我通过引入线性插值旋转创建了动画微调器:
res/anim/rotate_forever.xml
<?xml version="1.0" encoding="UTF-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:interpolator="@anim/linear_interpolator"
android:duration="1200" />
资源/布局/main.xml
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingRight="6dip"
android:paddingLeft="6dip"
android:orientation="horizontal"
android:background="@drawable/header_gradient" >
<EditText android:id="@+id/search_text"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
android:singleLine="true"
android:focusable="true" />
<ImageView android:id="@+id/search_spinner"
android:gravity="center_vertical|right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/spinner_black"/>
</LinearLayout>
我触发动画的方式是以编程方式工作的,我看到左侧的 EditView 和右侧的 ImageView 旋转(因为我不知道其他情况)
ImageView searchSpinner = (ImageView) findViewById(R.id.search_spinner);
Animation spinnerAnimation = AnimationUtils.loadAnimation(this, R.anim.rotate_forever);
searchSpinner.startAnimation(spinnerAnimation);
我的问题是这样的:
-
我怎样才能放置ImageView
在远处的 EditText 里面
正确的。所以里面不会出现
外部。(我想我可以把
一个 android:drawableRight,但是那个
没用。
-
我怎么能够
隐藏/显示 ImageView(旋转器),我
尝试设置视图的
隐形,通过做
searchSpinner.setVisibility(View.INVISIBLE);
但这没有用。
谢谢,如果您有更好的想法如何解决这个问题,我正在听:)
我可能会使用 FrameLayout 并执行以下操作:
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Some text..."
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:src="@drawable/...."
/>
</FrameLayout>
注意 ImageView 上的“layout_gravity”...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)