bringToFront()
সঠিক উপায়, তবে, লক্ষ্য করুন যে আপনাকে অবশ্যই উচ্চতর স্তরের ভিউতে (আপনার মূল দৃষ্টিভঙ্গির নীচে) কল করতে হবে bringToFront()
এবং invalidate()
পদ্ধতিটি অবশ্যই :
আপনার দেখার হায়ারার্কিটি হ'ল:
-RelativeLayout
|--LinearLayout1
|------Button1
|------Button2
|------Button3
|--ImageView
|--LinearLayout2
|------Button4
|------Button5
|------Button6
সুতরাং, আপনি যখন আপনার বোতামগুলি অ্যানিমেট করবেন (1-> 6), তখন আপনার বোতামগুলি নীচে (নীচে) থাকবে ImageView
। এটির উপরে (উপরে) আনতে ImageView
আপনাকে অবশ্যই এসএমএসে কল bringToFront()
এবং invalidate()
পদ্ধতি করতে হবে LinearLayout
। তারপরে এটি কাজ করবে :) ** দ্রষ্টব্য: android:clipChildren="false"
আপনার মূলের বিন্যাস বা অ্যানিমেট-ভিউ'র গ্রেডপ্যারেন্ট_লআউট সেট করার জন্য মনে রাখবেন । আসুন আমার আসল কোডটি একবার দেখুন:
.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:hw="http://schemas.android.com/apk/res-auto"
android:id="@+id/layout_parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/common_theme_color"
android:orientation="vertical" >
<com.binh.helloworld.customviews.HWActionBar
android:id="@+id/action_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_actionbar_height"
android:layout_alignParentTop="true"
hw:titleText="@string/app_name" >
</com.binh.helloworld.customviews.HWActionBar>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/action_bar"
android:clipChildren="false" >
<LinearLayout
android:id="@+id/layout_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:gravity="center_horizontal"
android:orientation="horizontal" >
</LinearLayout>
<ImageView
android:id="@+id/imgv_main"
android:layout_width="@dimen/common_imgv_height"
android:layout_height="@dimen/common_imgv_height"
android:layout_centerInParent="true"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:id="@+id/layout_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal"
android:orientation="horizontal" >
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
জাভা কিছু কোড
private LinearLayout layoutTop, layoutBottom;
...
layoutTop = (LinearLayout) rootView.findViewById(R.id.layout_top);
layoutBottom = (LinearLayout) rootView.findViewById(R.id.layout_bottom);
...
//when animate back
//dragedView is my layoutTop's child view (i added programmatically) (like buttons in above example)
dragedView.setVisibility(View.GONE);
layoutTop.bringToFront();
layoutTop.invalidate();
dragedView.startAnimation(animation); // TranslateAnimation
dragedView.setVisibility(View.VISIBLE);
GLuck!
RelativeLayout
এক্সএমএলে সর্বশেষ প্রদর্শিত "শীর্ষ" ভিউ সহ একটি ব্যবহার করেছি । দেখুন stackoverflow.com/a/31340762/1121497