web-dev-qa-db-ja.com

プログラムでScrollviewを作成するにはどうすればよいですか?

多数のサブジェクトを含む1つのテーブル「TABLE_SUBJECT」があります。作成する必要があります
件名付きの1つの水平スクロールビュー。

プログラムでデータベースアイテムを使用してScrollViewを作成するにはどうすればよいですか? 1o件名を入力すると、スクロールビューにボタンとして表示されます。出来ますか?

11
user1294970

以下のように作成できます。

ScrollView scroll = new ScrollView(context);
scroll.setBackgroundColor(Android.R.color.transparent);
scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                             LayoutParams.FILL_PARENT));
scroll.addView(yourTableView);
22
waqaslam

最初に多くの要素がある場合は、まとめてスクロールビューに追加する必要があります。たとえば、scrollview内に多くのテキストビューが必要なので、ScrollView-> LinearLayout-> Manytextviewを作成する必要があります

                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);
5

これはあなたを助けるかもしれません。

    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);
    }

forループの代わりに、必要に応じてコードを変更するだけです(db内のレコードはありません)。しかし、これは動的にボタンを作成するためのコードです。

3
M.A.Murali

私はこのようにそれをしていました:

  • ScrollView内でLinearLayoutを使用してxmlを作成します
  • ScrollViewのアイテムとしてxmlを作成します
  • アクティビティで、ScrollViewを使用してメインコンテンツをxmlとして設定します
  • 新しいビューをLinearLayoutフォームのメインビューに追加して、すべてのテーブル要素をループします

私にとってはうまくいきます。

2
goodm

Kotlinでは、以下のコードを使用できます

    val scroll = ScrollView(context)
    scroll.setBackgroundColor(R.color.transparent)
    scroll.layoutParams = LayoutParams(
        LayoutParams.FILL_PARENT,
        LayoutParams.FILL_PARENT
    )
    scroll.addView(yourTableView)
0
Abhishek