我有一个小的侧边栏片段,我在选择操作项时添加。它有一个固定的宽度,我希望主视图将全屏显示,直到操作项选择时,它会被略微压缩以允许侧边栏出现。
我已经尝试了很多东西,包括相对 toleftOf/RightOf 和各种布局/宽度组合。除非我使用带权重的 LinearLayout,否则我总是以侧边栏全屏结束。半工作 LinearLayout 权重的问题在于它使用了屏幕的百分比,这会导致对不同屏幕尺寸的不可靠影响。
有没有人做过类似的事情?
______ _
| | | |
| Main |<-|S|
|______| |_|
目前半工作的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false" >
<FrameLayout
android:id="@+id/frameLayoutImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</FrameLayout>
<!-- This will initially have no content/collapsed -->
<FrameLayout
android:id="@+id/frameLayoutEdit"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right|top"
android:layout_marginBottom="40dp"
android:layout_weight="4" >
</FrameLayout>
</LinearLayout>
片段 xml(可以是固定宽度):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout />
<Button />
<Button />
</RelativeLayout>
片段添加:
// This should just push the frame layout the necessary width to display the fragment
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.frameLayoutEdit, xmpFrag);