안드로이드 가로 RecyclerView 방향으로 스크롤

나는 수평 RecyclerView 리 및 이동(덕분에 이]1)그러나의 방향으로 스크롤하고 데이터를 확장하게 왼쪽에서 오른쪽;그런 다음 어떻게 변경할 수 있습니 RecyclerView 스크롤 방향에서 같은 그림 아래?

나의 코드:

StaggeredGridLayoutManager staggeredGridLayoutManager =
                new StaggeredGridLayoutManager(
                        2, //The number of Columns in the grid
                        LinearLayoutManager.HORIZONTAL);
해결책

가정하면 사용하는LinearLayoutManager에서 당신의 RecyclerView,다음 전달할 수 있습니다true으로 세 번째 인수에서LinearLayoutManager생성자입니다.

예를 들어:

mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));

을 사용하는 경우에는StaggeredGridLayoutManager,다음 사용할 수 있는setReverseLayout방법을 제공합니다.

해설 (1)

당신은 그것을 할 수 있으로 xml.

:응용 프로그램 reverseLayout="true"작업을 수행!

해설 (3)

XML 접근 방식을 사용하여 androidx:

해설 (2)

수평 RecyclerView 으로 이미지 뷰와 스트링

xml 파일

main.xml



item.xml



Java 클래스

ActivityMaim.java

public class MainActivity extends AppCompatActivity{
private  RecyclerView  horizontal_recycler_view;
private ArrayList horizontalList;
private CustomAdapter horizontalAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    horizontal_recycler_view= (RecyclerView) findViewById(R.id.horizontal_recycler_view);
    horizontalList = new ArrayList();
    for (int i = 0; i < MyData.nameArray.length; i++) {
        horizontalList.add(new Arraylist(
                MyData.nameArray[i],
                MyData.drawableArray[i]
        ));
    }
    horizontalAdapter=new CustomAdapter(horizontalList);
    LinearLayoutManager horizontalLayoutManagaer
            = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false);
    horizontal_recycler_view.setLayoutManager(horizontalLayoutManagaer);
    horizontal_recycler_view.setAdapter(horizontalAdapter);
}}

Adaper 클래스

CustomAdapter.java

public class CustomAdapter extends RecyclerView.Adapter {

private ArrayList dataSet;

public static class MyViewHolder extends RecyclerView.ViewHolder {

    TextView textViewName;

    ImageView imageViewIcon;

    public MyViewHolder(View itemView) {
        super(itemView);
        this.textViewName = (TextView) itemView.findViewById(R.id.txtView);
        //this.textViewVersion = (TextView) itemView.findViewById(R.id.textViewVersion);
        this.imageViewIcon = (ImageView) itemView.findViewById(R.id.image);
        itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                if (getPosition()==0)
                {
                    Toast.makeText(v.getContext(), " On CLick one", Toast.LENGTH_SHORT).show();

                } if (getPosition()==1)
                {
                    Toast.makeText(v.getContext(), " On CLick Two", Toast.LENGTH_SHORT).show();

                } if (getPosition()==2)
                {
                    Toast.makeText(v.getContext(), " On CLick Three", Toast.LENGTH_SHORT).show();

                } if (getPosition()==3)
                {
                    Toast.makeText(v.getContext(), " On CLick Fore", Toast.LENGTH_SHORT).show();

                }

            }
        });
    }
}

public CustomAdapter(ArrayList data) {
    this.dataSet = data;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent,
                                       int viewType) {
    View view = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.card_view, parent, false);

    //view.setOnClickListener(MainActivity.myOnClickListener);

    MyViewHolder myViewHolder = new MyViewHolder(view);
    return myViewHolder;
}

@Override
public void onBindViewHolder(final MyViewHolder holder, final int listPosition) {

    TextView textViewName = holder.textViewName;
   // TextView textViewVersion = holder.textViewVersion;
    ImageView imageView = holder.imageViewIcon;

    textViewName.setText(dataSet.get(listPosition).getName());
    //textViewVersion.setText(dataSet.get(listPosition).getVersion());
    imageView.setImageResource(dataSet.get(listPosition).getImage());
}

@Override
public int getItemCount() {
    return dataSet.size();
}}

Arraylist.java

public class Arraylist{
String name;
int image;

public Arraylist(String name, int image) {
    this.name = name;
    this.image=image;
}
public String getName() {
    return name;
}
public int getImage() {
    return image;
}}

MyData.java

public class MyData {
static String[] nameArray = {"Gas", "Insurance", "Electronics", "Other Services"};
static Integer[] drawableArray = {R.drawable.gas_gas, R.drawable.insurance, R.drawable.electric, R.drawable.services};}
해설 (0)

에서 재활용 레이아웃 관리자 두 번째 매개 변수는 spanCount 증가 또는 감소에 걸쳐 개수 변경 요소의 수를 화면에 표시

    RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(this, 2, //The number of Columns in the grid
,GridLayoutManager.HORIZONTAL,false);
                recyclerView.setLayoutManager(mLayoutManager);
해설 (0)

추가로 두 줄의 코드를 만들의 방향 recyclerview 으로 할 수 있습니다. 그래서 다음 줄을 추가합니다면 초기화름이'google 사용자'로 표시됩니다.

  LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);

my_recycler.setLayoutManager(linearLayoutManager);
해설 (0)

는 코드는 다음과 같습니다 충분

RecyclerView recyclerView;
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,true);

 recyclerView.setLayoutManager(layoutManager);
해설 (0)

It's 에 대해 페르시아어 언어,문제 을 회전해야하 ListView,트,또는.... 그 후에 회전 합니다. 당신은 그것을 할 수 있는 xml 에서는 안드로이드:회전="360".

해설 (0)

이에 조각

layoutManager=new LinearLayoutManager(getActivity(),LinearLayoutManager.수평하고,false);

해설 (0)

모든 위의 답변 it's 보여주는 나에게 동일한 수직으로 재생기기,그래서 내가 시도하는 또 다른 예입니다.

  1. 초기화 어댑터

전용 어댑터 mAdapter;

  1. 설정 어댑터 같은이

mAdapter=새로운 어댑터(); LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getActivity(),LinearLayoutManager.수평하고,false); recycler_view.setLayoutManager(linearLayoutManager); recycler_view.setAdapter(mAdapter);

희망이 이것은 또한 당신을 위해 일 위전체 코드참조하시기 바랍**이*****링크

해설 (0)