Проблема размещения макета с Custom SlidingDrawer - PullRequest
2 голосов
/ 07 июля 2011

Привет всем, я пытался заставить эту работу довольно долго, и я чувствую себя застрявшим, я нашел компонент в сети, который довольно хорош, он позволяет мне скользить сверху вниз, по умолчаниюСэмпл довольно прост, планка поднимается и опускается:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <Button
        android:id="@+id/button_open"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="@string/open"
        android:layout_centerInParent="true"
        android:visibility="gone" />

        <TextView android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" 
        android:text="@string/default_feed_detail" android:id="@+id/txtDetailNews" ></TextView>

    <it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer
        xmlns:my="http://schemas.android.com/apk/res/it.sephiroth.demo.slider"
        android:id="@+id/drawer"
        my:direction="topToBottom"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        my:handle="@+id/handle"
        my:content="@+id/content">
        <include
            android:id="@id/content"
            layout="@layout/pen_content" />

        <ImageView
            android:id="@id/handle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/sliding_drawer_handle_bottom" />
    </it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer>
</RelativeLayout>

И это выглядит очень красиво:

enter image description here

Но теперь я хочучтобы иметь изображение заголовка между текстом и между пользовательским слайдером, он просто не отображает текст

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <Button android:id="@+id/button_open" android:layout_width="100dp"
        android:layout_height="wrap_content" android:text="@string/open"
        android:layout_centerInParent="true" android:visibility="gone" />

    <ImageView android:id="@+id/header" android:src="@drawable/header"
        android:layout_height="wrap_content" android:layout_width="wrap_content"></ImageView>




    <it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer
        xmlns:my="http://schemas.android.com/apk/res/it.sephiroth.demo.slider"
        android:layout_below="@id/header"
        android:id="@+id/drawer" my:direction="topToBottom"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        my:handle="@+id/handle" my:content="@+id/content">
        <include android:id="@id/content" layout="@layout/pen_content" />

        <ImageView android:id="@id/handle" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:src="@drawable/sliding_drawer_handle_bottom" />
    </it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer>

    <TextView android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_below="@id/drawer"
        android:layout_width="wrap_content" android:text="@string/default_feed_detail"
        android:id="@+id/txtDetailNews"></TextView>


</RelativeLayout>

, и теперь текст пропал .... любое предложение с относительным макетом, или если у кого-то естьИдея или компонент, так что это может быть сделано легко, что было бы здорово, спасибо !!

Редактировать

Я нашел что-то интересное с просмотрщиком иерархии, используя следующую схему длякомпоненты:

<it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer
    xmlns:my="http://schemas.android.com/apk/res/it.sephiroth.demo.slider"
    android:layout_above="@id/txtDetailNews"
    android:id="@+id/drawer" my:direction="topToBottom"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    my:handle="@+id/handle" my:content="@+id/content">
    <include android:id="@id/content" layout="@layout/pen_content" />

    <ImageView android:id="@id/handle" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/sliding_drawer_handle_bottom" />
</it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer>

кажется, что компоненты, находящиеся внутри ящика, визуализируются и занимают все пространство, как показано здесь:

enter image description here

enter image description here

Ответы [ 3 ]

1 голос
/ 13 июля 2011

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

Вот пара вещей, которые нужно попробовать: переместите TextView над выдвижным ящиком в XML, как вы это делали в первом макете.Оставьте атрибут android: layout_below = "@ id / box", но если он не работает, попробуйте удалить его.

Попробуйте, мы пойдем оттуда.

0 голосов
/ 15 июля 2011

Ну, мне пришлось немного обойти это, так как содержимое на заднем плане заняло место, а Textview выделяло место, что я и сделал:

Я помещаю TextView после заголовка imageView с отступом 100dip.

    android:layout_width="wrap_content" android:text="@string/default_feed_detail"
    android:id="@+id/txtDetailNews" android:layout_alignWithParentIfMissing="@id/header" ></TextView>

Затем на MultiDirectionalSlidingDrawer я установил содержимое с android:layout_above="@id/txtDetailNews"

И это в значительной степени решило проблему, оказавшую скольжение между Контентом и заголовком, Спасибо всем за помощь мне ... Специально, Натан Фиг, ты зарабатываешь эти 50 человек (у)

0 голосов
/ 13 июля 2011

Попробуйте: android:layout_alignWithParentIfMissing="@id/header" в последнем TextView.

...