gpt4 book ai didi

android - 在 android 中以编程方式创建布局 - 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:57 25 4
gpt4 key购买 nike

我正在使用以下代码动态创建 FrameLayout

我的布局.java

FrameLayout layout = new FrameLayout(this);
FrameLayout.LayoutParams layoutparams=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT,Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
layout.setLayoutParams(layoutparams);

webview=new WebView(this);
webview.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));

splashview=new ImageView(this);
splashview.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
splashview.setScaleType(ScaleType.FIT_XY);
splashview.setImageResource(R.drawable.splash);
splashview.setVisibility(View.INVISIBLE);

progressbar=new ProgressBar(this);
FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.MATCH_PARENT,Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
progressbar.setLayoutParams(params);
progressbar.setVisibility(View.INVISIBLE);


layout.addView(webview);
layout.addView(progressbar);
layout.addView(splashview);

setContentView(layout);

mylayout.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|center_horizontal"
android:gravity="center_vertical|center_horizontal" >

<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</WebView>

<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible" />




<ImageView
android:id="@+id/splashscreen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/myimg"
android:scaleType="fitXY"
android:src="@drawable/splash"
android:visibility="invisible" />

</FrameLayout>

我需要 java 中上述 xml 文件的等价代码。我做错了什么?

注意:使用上面的java代码,每一个都是重叠的。

最佳答案

Android Developer - Frame Layout Documentation阅读:

通常,FrameLayout 应该用于容纳单个 subview ,因为很难以可缩放到不同屏幕尺寸且 subview 彼此不重叠的方式组织 subview 。但是,您可以将多个子级添加到 FrameLayout 并通过使用 android:layout_gravity 属性为每个子级分配重力来控制它们在 FrameLayout 中的位置。

在您的情况下,您可以使用 layout.setForegroundGravity(int) 来达到同样的效果。

关于android - 在 android 中以编程方式创建布局 - 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11896817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com