AndroidアプリでGoogleプレイスオートコンプリートを使用しています。私はのLinearLayoutのトップレベルで直接フラグメントを使用すると、すべてが動作します:Google PlaceAutocompleteFragmentにボーダーを追加する
<LinearLayout ...>
<fragment
android:id="@+id/findRidePlaceAutocompleteFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"/>
</LinearLayout>
このレイアウトは、このUIにつながる:
あなたが見ることができるように、周りに境界線がありませんその下のTextViewには黒い境界があります。私が読んだところから、フラグメントの周りに境界線をつけるトリックは、そのフラグメントをCardViewに埋め込むことです。この方法は、Googleのofficial documentationによって実際に推奨されています。以下の修正レイアウトを考えてみましょう:
<LinearLayout ...>
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="left"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main_border">
<fragment
android:id="@+id/findRidePlaceAutocompleteFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"/>
</android.support.v7.widget.CardView>
</LinearLayout>
ここでのトリックは前者が後者の周囲に境界線として表示されますように、CardViewにそれ以上のGoogleプレイスフラグメントと背景を与えることです。
しかし、この変更されたレイアウトは、アプリケーションをクラッシュさせます。なぜこれがクラッシュしているのか、Googleの周りに境界線を置く方法は誰にも分かりますかPlaceAutocompleteFragment
?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/main_border">
<fragment
android:id="@+id/findRidePlaceAutocompleteFragment"
android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
私はあなたがあなたのCardView
のために定義されている同じandroid:background="@drawable/main_border"
を使用しています:
あなたはlogcatエラーを投稿してもらえますか? – antonio
エラー出力はどこにありますか?私はAndroid開発の初心者です。 –
Android Studioの*** Android Monitorの***タブ、*** logcat ***タブ、またはコマンドラインまたは端末に 'adb logcat'と入力すると見つかります – antonio