Как получить мой макет правильно для ввода координат в EditTexts для карт - PullRequest
0 голосов
/ 28 октября 2010

Мне нужно отдельно ввести широту и долготу в 2 EditText с и отобразить местоположение по щелчку button. Каким-то образом я не могу получить правильную компоновку, поскольку мне точно требуется 2 EditText s, выровненных рядом и button под ними.

Вот что у меня уже есть:

    <LinearLayout android:id="@+id/zoom" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" />

    <EditText  
        android:layout_width="wrap_content" 
        android:text="@+id/EditText01"      
        android:layout_height="wrap_content" 
        android:id="@+id/edLat" 
        android:layout_toRightOf="@+id/mapView">
    </EditText>
    <EditText 
        android:layout_marginLeft="-237dip"  
        android:layout_marginTop="100dip" 
        android:layout_width="wrap_content" 
        android:text="@+id/EditText01" 
        android:layout_height="wrap_content" 
        android:id="@+id/edLong" 
        android:layout_toRightOf="@+id/mapView">
    </EditText>
    <Button 
        android:layout_marginLeft="-237dip"            
        android:layout_marginTop="200dip" 
        android:layout_width="wrap_content" 
        android:text="Show Location" 
        android:layout_height="wrap_content" 
        android:id="@+id/btnShowLoc"  
        android:layout_toRightOf="@+id/mapView"></Button>

    <com.google.android.maps.MapView 

        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="0p8EoZESYekrClENQbOlN5EN16DgXv7Rx0CPTMg" />

</LinearLayout>

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Код ниже соответствует вашим требованиям:

<LinearLayout android:id="@+id/zoom" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical">

    <LinearLayout android:id="@+id/LinearLayout01" 
                  android:layout_width="wrap_content" 
                  android:layout_height="wrap_content"
                  android:orientation="horizontal">

          <EditText 
            android:layout_width="wrap_content"     
            android:layout_height="wrap_content"    
            android:id="@+id/edLat">
          </EditText>

          <EditText     
            android:layout_width="wrap_content"     
            android:layout_height="wrap_content"    
            android:id="@+id/edLong">
           </EditText>
    </LinearLayout>

    <Button 
        android:layout_width="wrap_content" 
        android:text="Show Location" 
        android:layout_height="wrap_content" 
        android:id="@+id/btnShowLoc">
    </Button>

    <com.google.android.maps.MapView 

        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="0p8EoZESYekrClENQbOlN5EN16DgXv7Rx0CPTMg"
        />
</LinearLayout>

Примечание:

Вы написали следующий код:

 <EditText android:layout_marginLeft="-237dip" android:layout_marginTop="100dip" android:layout_width="wrap_content" android:text="@+id/EditText01" android:layout_height="wrap_content" android:id="@+id/edLong" android:layout_toRightOf="@+id/mapView"></EditText>

Я хотел бы сказать вам, что такого рода позиции не назначаются никаким элементам управления, потому что в Android существуют разные типы разрешений, поэтому он не будет выглядеть одинаково на всех устройствах Android.

После просмотра вашего кода я могу сказать, что вы должны сначала изучить макеты и методы кода. См. Страницы Android-SDK.

Обновлен ответ с изображениями: <29 октября 2010 г. * </h2> Я думаю, вы забыли добавить разрешение <uses-library android:name="com.google.android.maps" /> в файл AndroidManifest.xml, добавьте это разрешение внутри тега <application>. Посмотрите на изображение ниже, тот же код выше работает для меня: alt text

0 голосов
/ 29 октября 2010

Я попытался использовать табличный макет здесь и отлично работает для моих целей.Я был бы признателен, если бы кто-нибудь смог придумать лучший макет и дать мне ценное предложение.Спасибо

        <EditText 
            android:id="@+id/edLat" 
            android:width="200px" />
    </TableRow> 
    <TableRow>

        <EditText 
            android:id="@+id/edLong" 

            />
    </TableRow>

    <TableRow>
     <Button
        android:id="@+id/btnShowLoc"
        android:layout_width="125px"
        android:layout_height="wrap_content"
        android:text="Show Location"
        android:layout_below="@+id/txtComments"
        android:layout_alignBottom="@+id/mapView"
        />
        </TableRow>

    <TableRow>
         <com.google.android.maps.MapView 

        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="0p8EoZESYekrClENQbOlN5EN16DgXv7Rx0CPTMg"

        />  
    </TableRow>
     <LinearLayout android:id="@+id/zoom" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
        /> 

</TableLayout>
...