android - 在 LinearLayout 中设置 View 的属性

标签 android android-linearlayout adview

我想在代码中为 Android View 设置以下属性。

这是我要复制的 AdView:

<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"/>

这是我目前的代码:

mAdView = new AdView(m_Context);
// Sizes BANNER, SMART_BANNER, LARGE_BANNER
mAdView.setAdSize(AdSize.SMART_BANNER);
//mAdView.setAdUnitId(adIdBanner);
mAdView.setBackgroundColor(0xFF000000); // First byte alpha
mAdView.setPadding(0, 5, 0, 0);
lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                            ViewGroup.LayoutParams.WRAP_CONTENT);
mAdView.setLayoutParams(lp);
myLayout.addView(mAdView);
// OR SHOULD IT BE THIS????
//LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
//                            ViewGroup.LayoutParams.MATCH_PARENT,
//                            ViewGroup.LayoutParams.MATCH_PARENT);
//myLayout.addView(mAdView, params);

这是正确的吗?

CenterInParent 怎么样?

我是否正确设置了宽度和高度,以便宽度为 matchparent 而高度为 wrapcontent?

最佳答案

试试这个:

int paddingTop = 5;
float density = m_Context.getResources().getDisplayMetrics().density
int padding = (int)(paddingTop * density);


mAdView = new AdView(m_Context);
// Sizes BANNER, SMART_BANNER, LARGE_BANNER
mAdView.setAdSize(AdSize.SMART_BANNER);
mAdView.setAdUnitId(adIdBanner);
mAdView.setBackgroundColor(Color.parseColor("#000000")); 
mAdView.setPadding(0, padding , 0, 0);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                            LinearLayout.LayoutParams.MATCH_PARENT,
                            LinearLayout.LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER;
mAdView.setLayoutParams(params);
myLayout.addView(mAdView);

关于android - 在 LinearLayout 中设置 View 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57011213/

相关文章:

android - 将数据传递给 Service 的 onDestroy()

android - 3 个 textView 项目根据其长度换行

java - 我怎样才能一个接一个地为一个 View 设置动画,而不是同时设置所有 View ?

java - 延迟从 admob 加载横幅广告

java - AdView 未出现在应用底部

android - 将自定义广告尺寸与 PublisherAdView 结合使用时,Google 广告不可见

android - react 原生 : Android soft keyboard push the View up

android - 如何在android中解析两行文本和图像

java - SCREEN_ON 和 SCREEN_OFF 的 BroadcastReceiver,即使在退出应用程序后也是如此

android - 使用不同的 subview 对角拆分布局的自定义 View