john smithair
دوشنبه 14 بهمن 1392, 18:35 عصر
با سلام
دوستان حتما همه تا حالا برنامه Map خود اندروید رو تا حالا اجرا کردید دیگه. وقتی میخوای یه Direction بگیری یه صفحه مثل عکس زیر روی خود نقشه باز میشه.
116355
من میخوام که یه چیزی مثل همین عکس درست کنم. به نظرتون بهترین راه چیه؟
در واقع اگر اون tab bar بالا رو در نظر نگیریم. من تقریبا مطمئن هستم که اینا دو تا listview هست که بالایی ادرس مبدا و مقصد رو نشون میده. پایینی هم برای موارد دیگه استفاده میشه. خب اضافه کردن این listview ها روی نقشه کار ساده ای هست. من با کد زیر این کارو کردم:
<FrameLayout
android:id="@+id/fram_map"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mainLayoutOfDirection"
android:layout_marginTop="15dp"
android:layout_marginLeft="13dp"
android:layout_marginRight="60dp"
android:layout_gravity="left|top"
android:orientation="vertical"
android:background="#ffffff"
android:visibility="gone">
<ListView
android:minWidth="100px"
android:minHeight="100px"
android:layout_width="match_parent"
android:layout_height="100dp"
android:id="@+id/DirectionPointsListView"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"/>
<ListView
android:minWidth="100px"
android:minHeight="100px"
android:layout_width="match_parent"
android:layout_height="100dp"
android:id="@+id/DirectionSugestionsListView"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"/>
</LinearLayout>
<Button
android:id="@+id/btn_draw_State"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="right|top"
android:layout_marginTop="11dp"
android:layout_marginRight="11dp"/>
</FrameLayout>
</FrameLayout>
نکته دیگه اینه که اگر دقت کنید وقتی رو listview بالایی کلیک میکنی اون میره و یه textview اضافه میشه که ادرس رو وارد کنی. جالب اینجاست که با زدن دکمه back صفحه بر میگرده با حالت قبلی.
چیزی که به ذهن من میرسه اینه که اینا دو تا view مختلف هستن که hide و show میشن. دکمه back رو هم خودش گوش کرده و کاراش رو خودش handle میکنه. اما آیا این تصور من درسته؟ آیا من دارم از بهترین راه ممکن برای ایجاد این کار میرم؟ من با فرگمنت ها زیاد آشنا نیستم. آیا این رو با فرگمنت پیاده سازی کرده؟ به نظر خودم که یه راه بهتر دیگه ای باید وجود داشته باشه. اگر کمک کنید ممنون میشم.
پیشاپیش ممنون از کمک هاتون.
دوستان حتما همه تا حالا برنامه Map خود اندروید رو تا حالا اجرا کردید دیگه. وقتی میخوای یه Direction بگیری یه صفحه مثل عکس زیر روی خود نقشه باز میشه.
116355
من میخوام که یه چیزی مثل همین عکس درست کنم. به نظرتون بهترین راه چیه؟
در واقع اگر اون tab bar بالا رو در نظر نگیریم. من تقریبا مطمئن هستم که اینا دو تا listview هست که بالایی ادرس مبدا و مقصد رو نشون میده. پایینی هم برای موارد دیگه استفاده میشه. خب اضافه کردن این listview ها روی نقشه کار ساده ای هست. من با کد زیر این کارو کردم:
<FrameLayout
android:id="@+id/fram_map"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mainLayoutOfDirection"
android:layout_marginTop="15dp"
android:layout_marginLeft="13dp"
android:layout_marginRight="60dp"
android:layout_gravity="left|top"
android:orientation="vertical"
android:background="#ffffff"
android:visibility="gone">
<ListView
android:minWidth="100px"
android:minHeight="100px"
android:layout_width="match_parent"
android:layout_height="100dp"
android:id="@+id/DirectionPointsListView"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"/>
<ListView
android:minWidth="100px"
android:minHeight="100px"
android:layout_width="match_parent"
android:layout_height="100dp"
android:id="@+id/DirectionSugestionsListView"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"/>
</LinearLayout>
<Button
android:id="@+id/btn_draw_State"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="right|top"
android:layout_marginTop="11dp"
android:layout_marginRight="11dp"/>
</FrameLayout>
</FrameLayout>
نکته دیگه اینه که اگر دقت کنید وقتی رو listview بالایی کلیک میکنی اون میره و یه textview اضافه میشه که ادرس رو وارد کنی. جالب اینجاست که با زدن دکمه back صفحه بر میگرده با حالت قبلی.
چیزی که به ذهن من میرسه اینه که اینا دو تا view مختلف هستن که hide و show میشن. دکمه back رو هم خودش گوش کرده و کاراش رو خودش handle میکنه. اما آیا این تصور من درسته؟ آیا من دارم از بهترین راه ممکن برای ایجاد این کار میرم؟ من با فرگمنت ها زیاد آشنا نیستم. آیا این رو با فرگمنت پیاده سازی کرده؟ به نظر خودم که یه راه بهتر دیگه ای باید وجود داشته باشه. اگر کمک کنید ممنون میشم.
پیشاپیش ممنون از کمک هاتون.