Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何通过焦点在屏幕上调整两个片段的大小?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有三个片段,前两个填充80%的屏幕,最后一个填充其余的片段(这个片段永远不会改变大小).我希望,在用户(焦点)输入片段后,调整片段的大小,使其填满屏幕的70%(将10%留给另一个).像这样:

可以通过动态改变碎片的重量吗?
或者有更好的方法来实现这一目标?

这是我现在在XML中的代码

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://scheR_305_11845@as.android.com/apk/res/android"
    xmlns:tools="http://scheR_305_11845@as.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>

解决方法

它应该是这样的
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
                         LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT,WEIGTH_HERE);

假设WEIGHT_HERE是一个浮点数(可能需要强制转换).

(我不知道这是否是一个方法,但它应该做你想做的)

如果你想用一个按钮或其他东西,只需要做同样的事情
重量加上添加

Button b = new Button(this);
param.weight= (float) 0.5 // 0.5f
b.setLayoutParams(param);

但是这个方法会创建一个新的布局参数,所以如果你想保持一切只是做同样但不创建一个新的布局,通过获取它来编辑现有的布局:

LinearLayout.LayoutParams mLay =
(LinearLayout.LayoutParams)myLay.getLayoutParams();
mLay.weight = (float) WEIGTH // WEIGHTf

大佬总结

以上是大佬教程为你收集整理的android – 如何通过焦点在屏幕上调整两个片段的大小?全部内容,希望文章能够帮你解决android – 如何通过焦点在屏幕上调整两个片段的大小?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。