Android 實現類似QQ的 左邊滑動刪除

關鍵是一個HorizontalScrollview

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fadingEdge="none"
    android:scrollbars="none" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:focusable="true"
        android:gravity="center_vertical"
        android:minHeight="60dp"
        android:orientation="horizontal" >

        <LinearLayout
            android:id="@+id/remoter_editor_item_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:addStatesFromChildren="true"
            android:background="@drawable/remoter_editor_item_bkg"
            android:gravity="center_vertical"
            android:minHeight="60dp"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/remoter_editor_delete"
                android:layout_width="50dp"
                android:layout_height="match_parent"
                android:scaleType="center"
                android:src="@drawable/remoter_editor_delete" />

            <EditText
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                android:layout_marginRight="15dp"
                android:id="@+id/remoter_editor_name"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:background="@drawable/remote_editor_bg_rect_black"
                android:textSize="15sp" />
        </LinearLayout>

        <ImageView
            android:id="@+id/remoter_editor_confirmdelete"
            android:layout_width="70dp"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:background="#FF3737"
            android:scaleType="center"
            android:src="@drawable/remote_editor_recyclebox" />
    </LinearLayout>

</HorizontalScrollView>



  final Device device = mDevices.get(i);
            final HorizontalScrollView itemContainer = (HorizontalScrollView) ViewHolderUtil.inflateView(R.layout.layout_remoter_editor_item, RemoteDeviceEditorActivity.this);
            mOpenedScrollViews.add(itemContainer);
            
            LinearLayout layout = (LinearLayout) itemContainer.findViewById(R.id.remoter_editor_item_container);//設置長度, 把 刪除按鈕擠出去
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(SystemUtil.getScreenWH()[0], LayoutParams.MATCH_PARENT);
            layout.setLayoutParams(layoutParams);

最後需要處理好   delete 按鈕的 消失時機
發佈了400 篇原創文章 · 獲贊 14 · 訪問量 86萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章