在Android中的线性布局上添加scrollView并突出显示

时间:2015-06-06 06:28:00

标签: android android-layout android-listview

Linearlayout有多个线性布局,其中一个主布局有LinearLayoutListviewLinearLayout包含多个ImageViewTextView现在我想在此ScrollView上添加LinearLayout。但是,如果我要添加ScrollView ListView隐藏onClick ImageView,我想强调LinearLayout

我的XML是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id ="@+id/mainFilterLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <ImageView
                android:id="@+id/companyLogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight=".1"
                android:layout_gravity="left"
                android:adjustViewBounds="true"
                android:background="@mipmap/ic_launcher" />
            <View
                android:clickable="true"
                android:layout_gravity="center"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1" />
            <Button
                android:id="@+id/btnClear"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center"
                android:gravity="right|center"
                android:text="Clear" />

            <Button
                android:id="@+id/btnApply"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center"
                android:gravity="right|center"
                android:text="Apply" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">
//**I want to add scroll view on this linear layout**
            <LinearLayout
                android:id="@+id/categoryLayout"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="2"
                android:orientation="vertical">

                <LinearLayout
                    android:id="@+id/brandLayout"
                    android:layout_width="match_parent"
                    android:layout_height="70dp"
                    android:orientation="vertical">
//**Here on click of imageviwew i want set as selected for this linear layout**
                    <ImageView
                        android:id="@+id/mobbrand"
                        android:layout_width="90dp"
                        android:layout_height="50dp"
                        android:background="@mipmap/ic_launcher"
                        android:layout_gravity="center" />

                    <TextView
                        android:id="@+id/txtBrand"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="Brand" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/colorLayout"
                    android:layout_width="match_parent"
                    android:layout_height="70dp"
                    android:orientation="vertical">

                    <ImageView
                        android:id="@+id/mobColor"
                        android:layout_width="90dp"
                        android:layout_height="50dp"
                        android:background="@mipmap/ic_launcher"
                        android:layout_gravity="center" />

                    <TextView
                        android:id="@+id/txtColor"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="COLOUR" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/sizeLayout"
                    android:layout_width="match_parent"
                    android:layout_height="70dp"
                    android:orientation="vertical">

                    <ImageView
                        android:id="@+id/mobSize"
                        android:layout_width="90dp"
                        android:layout_height="50dp"
                        android:background="@mipmap/ic_launcher"
                        android:layout_gravity="center" />

                    <TextView
                        android:id="@+id/txtSize"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="Size" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/offerLayout"
                    android:layout_width="match_parent"
                    android:layout_height="70dp"
                    android:orientation="vertical">

                    <ImageView
                        android:id="@+id/mobOffers"
                        android:layout_width="90dp"
                        android:layout_height="50dp"
                        android:layout_gravity="center"
                        android:background="@mipmap/ic_launcher" />

                    <TextView
                        android:id="@+id/txtPrice"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="Price" />
                </LinearLayout>


                <LinearLayout
                    android:id="@+id/othersLayout"
                    android:layout_width="match_parent"
                    android:layout_height="70dp"
                    android:orientation="vertical">

                    <ImageView
                        android:id="@+id/mobother"
                        android:layout_width="90dp"
                        android:layout_height="50dp"
                        android:layout_gravity="center"
                        android:background="@mipmap/ic_launcher" />

                    <TextView
                        android:id="@+id/txtOther"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="OTHER" />
                </LinearLayout>
            </LinearLayout>

            <ListView
                android:id="@+id/subCategory"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="5"
                android:cacheColorHint="@android:color/transparent"
                android:divider="#fff"
                android:dividerHeight="1dp"
                android:fadingEdge="none">
            </ListView>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:2)

我希望这对你有用:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id ="@+id/mainFilterLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <ImageView
                android:id="@+id/companyLogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight=".1"
                android:layout_gravity="left"
                android:adjustViewBounds="true"
                android:background="@mipmap/ic_launcher" />
            <View
                android:clickable="true"
                android:layout_gravity="center"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1" />
            <Button
                android:id="@+id/btnClear"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center"
                android:gravity="right|center"
                android:text="Clear" />

            <Button
                android:id="@+id/btnApply"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center"
                android:gravity="right|center"
                android:text="Apply" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">
            <ScrollView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="2"
                    android:orientation="vertical">

                    <LinearLayout
                        android:id="@+id/brandLayout"
                        android:layout_width="match_parent"
                        android:layout_height="70dp"
                        android:orientation="vertical">

                        <ImageView
                            android:id="@+id/mobbrand"
                            android:layout_width="90dp"
                            android:layout_height="50dp"
                            android:background="@mipmap/ic_launcher"
                            android:layout_gravity="center" />

                        <TextView
                            android:id="@+id/txtBrand"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:gravity="center"
                            android:text="Brand" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/colorLayout"
                        android:layout_width="match_parent"
                        android:layout_height="70dp"
                        android:orientation="vertical">

                        <ImageView
                            android:id="@+id/mobColor"
                            android:layout_width="90dp"
                            android:layout_height="50dp"
                            android:background="@mipmap/ic_launcher"
                            android:layout_gravity="center" />

                        <TextView
                            android:id="@+id/txtColor"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:gravity="center"
                            android:text="COLOUR" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/sizeLayout"
                        android:layout_width="match_parent"
                        android:layout_height="70dp"
                        android:orientation="vertical">

                        <ImageView
                            android:id="@+id/mobSize"
                            android:layout_width="90dp"
                            android:layout_height="50dp"
                            android:background="@mipmap/ic_launcher"
                            android:layout_gravity="center" />

                        <TextView
                            android:id="@+id/txtSize"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:gravity="center"
                            android:text="Size" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/offerLayout"
                        android:layout_width="match_parent"
                        android:layout_height="70dp"
                        android:orientation="vertical">

                        <ImageView
                            android:id="@+id/mobOffers"
                            android:layout_width="90dp"
                            android:layout_height="50dp"
                            android:layout_gravity="center"
                            android:background="@mipmap/ic_launcher" />

                        <TextView
                            android:id="@+id/txtPrice"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:gravity="center"
                            android:text="Price" />
                    </LinearLayout>


                    <LinearLayout
                        android:id="@+id/othersLayout"
                        android:layout_width="match_parent"
                        android:layout_height="70dp"
                        android:orientation="vertical">

                        <ImageView
                            android:id="@+id/mobother"
                            android:layout_width="90dp"
                            android:layout_height="50dp"
                            android:layout_gravity="center"
                            android:background="@mipmap/ic_launcher" />

                        <TextView
                            android:id="@+id/txtOther"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:gravity="center"
                            android:text="OTHER" />
                    </LinearLayout>
                </LinearLayout>
            </ScrollView>
            <ListView
                android:id="@+id/subCategory"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="5"
                android:cacheColorHint="@android:color/transparent"
                android:divider="#fff"
                android:dividerHeight="1dp"
                android:fadingEdge="none">
            </ListView>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

答案 1 :(得分:0)

简单地做一件事就是在scrollview中减少你想要的代码量....现在添加scrollview来代替你只是&#34; cut&#34; ...现在scrollview也有一个子布局作为线性布局....在线性布局中使高度为wrap_content .....接下来将你的代码置于该线性布局中......在scrolllayout外面的ListView ... < / p>

[code]--------- Ctrl+X
replace with
<ScrollView>
   <LinearLayout>
    [code]-------- Ctrl+V
    enter code here
   </LinearLayout>
</ScrollView>
<ListView> -------- here add listview