How to create Scrollview programmatically?

后端 未结 5 607
一向
一向 2021-02-07 20:01

I have one table \"TABLE_SUBJECT\" which contain a number of subjects. I need to create
one horizontal scroll view with Subject.

How do I create a ScrollView with da

相关标签:
5条回答
  • 2021-02-07 20:51

    this may help you.

        HorizontalScrollView hsrll = (HorizontalScrollView)findViewById(R.id.hrsll);
    
        b = new Button(this);
    
        for (int i = 0; i < 5; i++) {
    
            b.setWidth(LayoutParams.WRAP_CONTENT);
            b.setHeight(LayoutParams.WRAP_CONTENT);
    
            b.setText("b"+i);
            b.setId(100+i);
    
            hsrll.addView(b);
        }
    

    instead of for loop just modify the code as your need(no of records in db). but this the code for creating buttons in dynamically.

    0 讨论(0)
  • 2021-02-07 20:56

    In Kotlin you can use the below code

        val scroll = ScrollView(context)
        scroll.setBackgroundColor(R.color.transparent)
        scroll.layoutParams = LayoutParams(
            LayoutParams.FILL_PARENT,
            LayoutParams.FILL_PARENT
        )
        scroll.addView(yourTableView)
    
    0 讨论(0)
  • 2021-02-07 20:58

    if you have many elements first you need to wrap-up and add in the Scroll view; for example i need a many text view inside of scrollview, so you need to create ScrollView->LinearLayout->Many textview

                    ScrollView scrollView = new ScrollView(context);
                    scrollView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    
                    TextView textView = new TextView(context);
                    textView.setText("my text");
    
                    LinearLayout linearLayout = new LinearLayout(context);
                    linearLayout.setOrientation(LinearLayout.VERTICAL);
                    linearLayout.setGravity(Gravity.RIGHT);
                    linearLayout.addView(textView);
                    scrollView.addView(linearLayout);
    
    0 讨论(0)
  • 2021-02-07 21:00

    you may create it as below:

    ScrollView scroll = new ScrollView(context);
    scroll.setBackgroundColor(android.R.color.transparent);
    scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                                 LayoutParams.FILL_PARENT));
    scroll.addView(yourTableView);
    
    0 讨论(0)
  • 2021-02-07 21:05

    I was doing it like this:

    • Create xml with LinearLayout inside the ScrollView
    • Create xml as item in ScrollView
    • In activity set main content as xml with ScrollView
    • Loop through all table elements with adding new View to LinearLayout form main view

    For me works fine.

    0 讨论(0)
提交回复
热议问题