我有一个布局的EditText,我也有在布局的底部,当有人进入的EditText上的东西的theres假设是在键盘的按钮,右上角一个“完成”按钮AdMob广告,但我加了后AdMob的它有一个“下一步”按钮,当你按下它,它的重点是广告! 有没有一种方法来禁用此?
我的XML:
<com.google.ads.AdView android:id="@+id/adView"
android:focusable="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="XXXXXXXXXXX"
ads:adSize="BANNER"
ads:testDevices="XXXXXXXXXXX"/>
我的Java:
if (showAds == true) {
AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(new AdRequest());
}
注:我不知道这事,但我使用的是ViewPager所以AdView的是我的main.xml布局文件和EditText上是对我的ViewPager膨胀的布局。
如果你想保留你的“完成”按钮EditText
,这个属性添加到它: android:imeOptions="actionDone"
。 这将迫使“完成”按钮出现在软键盘。
如果您想保留“下一步”按钮,而是和有它跳过AdView
,你可以用这个方法来跳过AdView
击中“下一步”的时候。
这并没有为我工作,EDITTEXT失去专注ACTION_DONE被触发后,AdMob的web视图获得焦点,并保持专注,除非用户触摸屏幕。 要纠正这个无论是从当前的焦点或关闭软键盘移除焦点
etAddNote.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
activity.getCurrentFocus().clearFocus();
return true;
}
return false;
}
});
或关闭软键盘
etAddNote.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
View view = activity.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager) activity
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
return true;
}
return false;
}
});
就在你的根布局添加此标签。
android:descendantFocusability="blocksDescendants"
防爆。
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:descendantFocusability="blocksDescendants"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
.
.
.
.
</LinearLayout>
</ScrollView>