Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java代码而不是XML?_Java_Android_Xml - Fatal编程技术网

使用java代码而不是XML?

使用java代码而不是XML?,java,android,xml,Java,Android,Xml,在我的应用程序中,由于某些原因,我无法使用XML布局。现在,我需要创建一个布局,其XML代码为: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/adlayout" android:layout_width="match_parent" android:layout_height="48dp" android:orientation="vertical" &g

在我的应用程序中,由于某些原因,我无法使用XML布局。现在,我需要创建一个布局,其XML代码为:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/adlayout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="vertical" >

<ir.adad.AdView
    android:id="@+id/ad"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    token="fhsfxfhdghghrgfggh" />

</LinearLayout>

现在我需要创建一个与此XML代码相同的java代码!有办法吗?我怎么能做到?
i:ir.adad.adview是一个广告服务,我把它慷慨地放在我的应用程序中

因为我不知道那个广告服务库,所以我无法帮助您构造和创建它,但这应该会给您一些开始工作的东西

    LinearLayout layout = new LinearLayout(this);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,48);
    layout.setOrientation(LinearLayout.VERTICAL);
    layout.setLayoutParams(params);
    ir.adad.AdView adview = new ir.adad.AdView();
    LinearLayout.LayoutParams adviewParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
    adview.setLayoutParams(params);
    adview.setToken("asdasdas");
    layout.addView(adview);

这可能会对你有所帮助

LinearLayout layout = new LinearLayout(this);
    layout.setOrientation(LinearLayout.VERTICAL);
    int adlayout = 12345;   //if you need id of layout somewhere else  
                           //View.generateViewId();Can be used if minSDK= 17 
    layout.setId(adlayout);

    android.view.ViewGroup.LayoutParams params = layout.getLayoutParams();
    params.height = 48;
    params.width = LayoutParams.MATCH_PARENT;
    //Below code is used if you need height in dp.
    //int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, <HEIGHT>, getResources().getDisplayMetrics());

    ir.adad.AdView adView = new ir.adad.AdView(this);
    int adViewId = 123456;//Should not be dublicate.
    adView.setId(adViewId);
    android.view.ViewGroup.LayoutParams paramView = adView.getLayoutParams();
    paramView.height = LayoutParams.WRAP_CONTENT;
    paramView.width = LayoutParams.WRAP_CONTENT;

    layout.addView(adView)
LinearLayout布局=新的LinearLayout(该布局);
布局。设置方向(线性布局。垂直);
int adlayout=12345//如果您需要其他地方的布局id
//View.generateView();如果minSDK=17,则可以使用
layout.setId(adlayout);
android.view.ViewGroup.LayoutParams params=layout.getLayoutParams();
参数高度=48;
params.width=布局params.MATCH_父项;
//如果您需要dp中的高度,则使用以下代码。
//int height=(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,getResources().getDisplayMetrics());
ir.adad.AdView AdView=新的ir.adad.AdView(本);
int adViewId=123456//不应该怀疑。
adView.setId(adViewId);
android.view.ViewGroup.LayoutParams paramView=adView.getLayoutParams();
paramView.height=布局params.WRAP_内容;
paramView.width=布局params.WRAP_内容;
layout.addView(adView)

使用ViewGroup.addView方法如果您不能使用xml布局,那么您正在做一些事情wrong@AlexanderZhak在java代码中创建视图有什么问题?@pskink抱歉,您能解释更多吗?使用parentView.addView(childView)