質問編集履歴

1 誤字修正

Yith

Yith score 17

2015/05/15 15:57  投稿

AndroidにおけるScrollViewに配置したAdmobの広告更新時、勝手にスクロール位置が変わってしまう
ScrollView内にAdmobを配置したところ、表示はされるのですが広告の更新のタイミングで、勝手にスクロール位置が変わってしまいます。
勝手にスクロールさせないための方法がわからず質問させていただきました。
以下はレイアウトのxmlとjavaの広告を読み込んでいるonCreate部分となります。
```lang-xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/PanelPlaceholder">
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:ads="http://schemas.android.com/apk/res-auto"
       xmlns:tools="http://schemas.android.com/tools"
       android:id="@+id/layout01"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical">
       <android.support.v7.widget.Toolbar
           android:id="@+id/tool_bar"
           android:layout_height="wrap_content"
           android:layout_width="match_parent"
           android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
           android:minHeight="?attr/actionBarSize"
           android:background="@color/baColorPlainBG">
           android:background="@color/somocolorres">
       </android.support.v7.widget.Toolbar>
       <ScrollView
           android:id="@+id/scroll_view01"
           android:layout_width="match_parent"
           android:layout_height="0dp"
           android:layout_weight="1">
           <LinearLayout
               android:id="@+id/mainPane"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:orientation="vertical">
               <com.google.android.gms.ads.AdView
                   android:id="@+id/ad_view"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:layout_gravity="center_horizontal"
                   ads:adSize="BANNER"
                   ads:adUnitId="@string/ad_unit_id" />
               <TextView
                   android:id="@+id/text01"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:textSize="13sp"
                   android:padding="2dp"
                   android:layout_margin="2dp"/>
               <!-- その他TextViewなどが続くが省略 -->
           </LinearLayout>
       </ScrollView>
   </LinearLayout>
</FrameLayout>
```
```lang-java
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.hogehoge_layout);
   //TextViewへのセットなど画面表示処理(略)
   //広告の表示
   AdView adView = (AdView) findViewById(R.id.ad_view);
   AdRequest adRequest = new AdRequest.Builder().build();
   adView.loadAd(adRequest);
}
コード
```
開発ターゲットは
   minSdkVersion 14
   targetSdkVersion 22
としております。
また、onCreate時にScrollViewに対し、OnTouchLitenerを追加してタッチ時以外はスクロール無効としてみましたが、効果がありませんでした。
```lang-java
       ScrollView sv = (ScrollView) findViewById(R.id.scroll_view01);
       sv.setOnTouchListener(new View.OnTouchListener(){
           @Override
           public boolean onTouch(View v, MotionEvent event){
               if(event.getAction() == MotionEvent.ACTION_MOVE) {
                   return false;
               }else{
                   return true;
               }
           }
       });
コード
```
他に必要な情報等ございましたら追記いたします。
どうぞよろしくお願い致します。
  • Android

    10360 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る