Üç fragmanım var, ilk ikisi ekranın% 80'ini dolduran ve kalan sonuncusuyla (bu hiç bir zaman boyut olarak değişmeyecek). Bir parçadaki kullanıcıdan (odaklama) sonra, parçayı yeniden boyutlandırmak istiyorum, böylece ekranın% 70'ini doldurur (diğer% 10'unu diğerine bırakır). Dinamically bir parçanın ağırlığını değiştirmek mümkündürEkrandaki iki parçayı odağa göre nasıl yeniden boyutlandırabilirim?
: Böyle mi? Ya da bunu başarmanın daha iyi bir yolu var mı?
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<FrameLayout android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1.0">
<FrameLayout android:id="@+id/containerParent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".8">
<LinearLayout
android:id="@+id/MainLinear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="1.0">
<FrameLayout android:id="@+id/fragment1"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight=".5"/>
<FrameLayout android:id="@+id/fragment2"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight=".5"/>
</LinearLayout>
</FrameLayout>
<FrameLayout android:id="@+id/fragment3"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight=".2"/>
</LinearLayout>
</FrameLayout>
</android.support.v4.widget.DrawerLayout>
Cevabınız için teşekkür ederim, ama aslında parçanın hedef noktaya doğru hareket etmesini (bir animasyon gibi) hemen yeniden konumlandırmasını istemiyorum. Mümkün mü? – Galbix
Evet ve, sadece ithal etmek gerçekten basit ilgisi var ' android.transition.TransitionManager' Ve bunu yazmak: ' Transition.beginDelayedTransition (mLay); ' Bu bir geçiş (varsayılan geçişi) başlayacak nasıl görüneceğini Uygulamayı başlattığınızda Düzeninizdir ve daha sonra, eylemi tamamladığınızda düzeniniz nasıl olur ve bu yalnızca 2 adım arasında bir geçiş ekleyecektir. Ancak, mLay'in LayoutParams adlı bir Layout olması gerekmez. Ur düzeni aşağıdakiyle alabilirsiniz: 'mLay = (ViewGroup) findViewById (LayoutID); ' – Nico