Partial board editor controller

filtering
Floens 10 years ago
parent 2ae4a94b9d
commit c3c2569a54
  1. 90
      Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java
  2. 30
      Clover/app/src/main/res/layout/cell_board_edit.xml
  3. 17
      Clover/app/src/main/res/layout/controller_board_edit.xml
  4. 4
      Clover/app/src/main/res/layout/controller_navigation_drawer.xml

@ -1,12 +1,31 @@
package org.floens.chan.ui.controller;
import android.content.Context;
import android.widget.FrameLayout;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import org.floens.chan.ChanApplication;
import org.floens.chan.R;
import org.floens.chan.controller.Controller;
import org.floens.chan.core.manager.BoardManager;
import org.floens.chan.core.model.Board;
import org.floens.chan.ui.drawable.ThumbDrawable;
import org.floens.chan.ui.helper.SwipeListener;
import java.util.List;
public class BoardEditController extends Controller implements SwipeListener.Callback {
private final BoardManager boardManager = ChanApplication.getBoardManager();
private RecyclerView recyclerView;
private BoardEditAdapter adapter;
private List<Board> boards;
public class BoardEditController extends Controller {
public BoardEditController(Context context) {
super(context);
}
@ -16,8 +35,71 @@ public class BoardEditController extends Controller {
super.onCreate();
navigationItem.title = string(R.string.board_edit);
view = inflateRes(R.layout.controller_board_edit);
recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
recyclerView.setHasFixedSize(true);
boards = boardManager.getSavedBoards();
adapter = new BoardEditAdapter();
recyclerView.setAdapter(adapter);
new SwipeListener(context, recyclerView, this);
}
@Override
public SwipeListener.Swipeable getSwipeable(int position) {
return boards.size() > 1 ? SwipeListener.Swipeable.BOTH : SwipeListener.Swipeable.NO;
}
@Override
public void removeItem(int position) {
}
@Override
public boolean isMoveable(int position) {
return false;
}
@Override
public void moveItem(int from, int to) {
}
@Override
public void movingDone() {
}
private class BoardEditAdapter extends RecyclerView.Adapter<BoardEditItem> {
@Override
public BoardEditItem onCreateViewHolder(ViewGroup parent, int viewType) {
return new BoardEditItem(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_board_edit, parent, false));
}
@Override
public void onBindViewHolder(BoardEditItem holder, int position) {
Board board = boards.get(position);
holder.text.setText("/" + board.value + "/ " + board.key);
}
@Override
public int getItemCount() {
return boards.size();
}
}
private class BoardEditItem extends RecyclerView.ViewHolder {
private ImageView image;
private TextView text;
public BoardEditItem(View itemView) {
super(itemView);
image = (ImageView) itemView.findViewById(R.id.thumb);
text = (TextView) itemView.findViewById(R.id.text);
view = new FrameLayout(context);
view.setBackgroundColor(0xffffffff);
image.setImageDrawable(new ThumbDrawable());
}
}
}

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="?attr/selectableItemBackground">
<ImageView
android:id="@+id/thumb"
android:layout_width="56dp"
android:layout_height="match_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:scaleType="center"
android:layout_gravity="center_vertical" />
<TextView
android:id="@+id/text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:singleLine="true"
android:textColor="#ff212121"
android:textSize="14sp" />
</LinearLayout>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffffff">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:scrollbars="vertical"
android:paddingBottom="16dp"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

@ -56,9 +56,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:elevation="8dp"/>
android:layout_height="match_parent" />
</FrameLayout>

Loading…
Cancel
Save