2016-04-25 10 views
-3

私のアプリケーションにマップをレイアウトし、その上にテキストフィールドとボタンを追加したいと考えています。以下は私のXMLファイルです。このアプリケーションを起動すると、マップは画面に正しく表示されますが、テキストフィールドとボタンは表示されません。マップを削除しても表示されません。私はここで何を欠場したのですか?0dpのレイアウト幅を使用すると、layout_weightがアンドロイドで動作しない

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:orientation="vertical" 
tools:context="com.lenovo.mds.lenovopoc.MainActivity"> 

<com.amap.api.maps2d.MapView 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 
<EditText 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.70" /> 
<Button 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:text="button" 
    android:layout_weight="0.70"/> 
</LinearLayout> 
+1

LinearLayoutのサポートandroid:layout_weight –

+2

RelativeLayoutはlayout_weightをサポートしていません。 LinearLayoutを使用する – akash93

+0

あなたは体重を使用したい場合は線形レイアウトを使用する必要があります – Saveen

答えて

1

RelativeLayoutにlayout_weightを使用しないでください。 LinearLayoutを使用する場合は、MapViewのmatch_parentがすべてのスペースを占めるため、layout_weightを割り当てることがあります。

+0

LinearLayoutを使用するようにコードを更新しましたが、同じ結果が得られました。私はテキストとボタンを地図の上に置いて欲しい。 LinearLayoutでどうすればいいですか? –

+0

地図上にテキストとボタンのオーバーレイが必要な場合は、RelativeLayoutを使用します。ウェイトを割り当てる必要はありません。 – Hiking

+0

しかし、地図上にテキストとボタンのオーバーレイを表示し、そのパーセンテージを使って幅を指定したいとします。これを達成するために、これら2つのレイアウトをどのように組み合わせることができますか?たぶん、この構造で –

1

RelativeLayoutsはその子のためにlayout_weightをサポートしていません。使用する場合はLinearLayoutに変更してください。私はlayout_weight.70フォーマットで数字を受け入れるかどうか分からない。

関連する問題