我很难理解如何为半透明的LinearLayout
创建添加动画。有两个视图具有不透明度和移动背景(谷歌地图,如果它是重要的)。 View1是LinearLayout
,view2正在添加到view1。但是当添加view2时,可以通过view1看到它(见下面的左侧动画)。
有什么方法可以阻止它正确地实现我的动画吗? (目标:看右边的动画)请记住,背景正在变化,并不是固定的图片。
祝你好运 拉瓦
答案 0 :(得分:1)
我想我的评论可能并不完全清楚,所以我总结了一个简单的例子来更好地解释和演示。由于我不确定你的View
将是什么,我已经将它们保留为通用,并设置了一些你想要改变的硬编码属性。
main.xml
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/stripes_diag" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00000000" >
<TextView android:id="@+id/view2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="#88ffffff"
android:textColor="#000000"
android:textSize="40sp"
android:text="Lorem Ipsum" />
</LinearLayout>
<View android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="#88ffffff" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Animate"
android:onClick="onClick" />
</LinearLayout>
</RelativeLayout>
MainActivity
上课:
public class MainActivity extends Activity
{
View view1, view2;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
view1 = findViewById(R.id.view1);
view2 = findViewById(R.id.view2);
}
public void onClick(View v)
{
view2.setY(view2.getHeight());
ObjectAnimator anim = ObjectAnimator.ofFloat(view2, "y", 0);
anim.setDuration(1500);
anim.start();
}
}
看一下效果: