使用java代码而不是XML?
在我的应用程序中,由于某些原因,我无法使用XML布局。现在,我需要创建一个布局,其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
<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)