كيفية الحصول على تخطيطي الصحيح لإحداثيات الإدخال في EditTexts للخرائط

StackOverflow https://stackoverflow.com/questions/4040684

سؤال

أحتاج إلى إدخال خط العرض وخط الطول بشكل منفصل في 2 EditTextS وعرض الموقع بنقرة أ button. بطريقة ما ، لا أستطيع الحصول على التصميم الصحيح لأنني أتطلب بدقة 2 EditTextS محاذاة جنبًا إلى جنب و 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>
هل كانت مفيدة؟

المحلول

الرمز أدناه يناسب متطلباتك:

<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-OCT-2010>


أعتقد أنك نسيت أن تضيف <uses-library android:name="com.google.android.maps" /> إذن في ملف AndroidManifest.xml ، أضف هذا الإذن داخل <application> بطاقة شعار.

تحقق من الصورة أدناه ، نفس الرمز أعلاه يعمل بالنسبة لي:

alt text

نصائح أخرى

حاولت استخدام تخطيط جدولي هنا ويعمل بشكل جيد لغرضي. أقدر ما إذا كان بإمكان أي شخص التوصل إلى تصميم أفضل وتزويدني باقتراح قيمة. شكرًا

        <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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top