كيفية الحصول على تخطيطي الصحيح لإحداثيات الإدخال في EditTexts للخرائط
-
27-09-2019 - |
سؤال
أحتاج إلى إدخال خط العرض وخط الطول بشكل منفصل في 2 EditText
S وعرض الموقع بنقرة أ 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>
المحلول
الرمز أدناه يناسب متطلباتك:
<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>
بطاقة شعار.
تحقق من الصورة أدناه ، نفس الرمز أعلاه يعمل بالنسبة لي:
نصائح أخرى
حاولت استخدام تخطيط جدولي هنا ويعمل بشكل جيد لغرضي. أقدر ما إذا كان بإمكان أي شخص التوصل إلى تصميم أفضل وتزويدني باقتراح قيمة. شكرًا
<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>