在代码中创建具有属性的 Android xml 元素
Creating Android xml Element with properties in Code
我想在代码中即时创建一个 xml 元素,但前提是它还不存在。
这是我要创建的元素的 xml。 (注意,我不会在 xml 中声明它,这是我要在代码中创建的元素的 xml):
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#000000"
android:paddingTop="5dp"
app:adSize="SMART_BANNER"
app:adUnitId="ca-app-pub-3940256099942544/6300978111"/>
这是检查它是否已经存在的正确方法吗?
AdView adView;
if((adView = (AdView) m_Context.findViewById(R.id.adView)) != null){
// It is already there
}else{
// It is not there, create it on the fly
}
另外,如何将它添加到 LinearLayout
的底部?
首先不需要检查条件run-time直接创建on-the-fly.
这是根据条件
在 run-time 上添加视图的更好方法
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
AdView mAdView = new AdView(this);
mAdView.setAdSize(AdSize.SMART_BANNER);
mAdView.setAdUnitId("xxxx-xxxx-xxxx-xxxx");
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
layout.addView(mAdView);
mAdView.loadAd(adRequestBuilder.build());
setContentView(layout);
定制周围的东西完全取决于你的条件。
我想在代码中即时创建一个 xml 元素,但前提是它还不存在。
这是我要创建的元素的 xml。 (注意,我不会在 xml 中声明它,这是我要在代码中创建的元素的 xml):
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#000000"
android:paddingTop="5dp"
app:adSize="SMART_BANNER"
app:adUnitId="ca-app-pub-3940256099942544/6300978111"/>
这是检查它是否已经存在的正确方法吗?
AdView adView;
if((adView = (AdView) m_Context.findViewById(R.id.adView)) != null){
// It is already there
}else{
// It is not there, create it on the fly
}
另外,如何将它添加到 LinearLayout
的底部?
首先不需要检查条件run-time直接创建on-the-fly.
这是根据条件
在 run-time 上添加视图的更好方法LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
AdView mAdView = new AdView(this);
mAdView.setAdSize(AdSize.SMART_BANNER);
mAdView.setAdUnitId("xxxx-xxxx-xxxx-xxxx");
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
layout.addView(mAdView);
mAdView.loadAd(adRequestBuilder.build());
setContentView(layout);
定制周围的东西完全取决于你的条件。