0

テキスト ビューの上部にテキストを動的に揃えようとすると、問題が発生します。テキストビューを動的に作成する方法があります。テキスト ビューの重力を Gravity.TOP に設定しました。textView オブジェクトの一番上にテキストを配置する必要があると信じています。ただし、プロジェクトを実行すると、オブジェクトの上部から約 2 行のテキストのギャップがあります。textView の高さを変更することでこれを回避できますが、textView に読み込まれるテキストの量に応じて、サイズをセットで読み込むことをお勧めします。

これが私の機能です。うまく機能し、本来の機能を果たします。

public void addItems(LinearLayout page,int id,String text,int row){

        LinearLayout item = new LinearLayout(this);
        item.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));

        TextView itemNum = new TextView(this);
        //itemNum.setLayoutParams(new ViewGroup.LayoutParams(50,50));
        itemNum.setWidth(50);
        itemNum.setTextSize(40);
        itemNum.setTextAppearance(getApplicationContext(), R.style.large_text);
        itemNum.setLeft(0);
        itemNum.setText(row+":");
        LayoutParams numParams = new LinearLayout.LayoutParams(70, 70);
        numParams.setMargins(25, 0, 0, 0);

        TextView itemDetails = new TextView(this);
        itemDetails.setLayoutParams(new ViewGroup.LayoutParams(150,LayoutParams.WRAP_CONTENT));
        itemDetails.setText(text);
        itemDetails.setWidth(100);
        itemDetails.setLeft(5);
        itemDetails.setRight(5);
        itemDetails.setTop(0);
        itemDetails.setVisibility(View.VISIBLE);
        itemDetails.setGravity(itemDetails.getGravity() | Gravity.TOP);
        itemDetails.setPadding(0,0,0,0);

        Button delete = new Button(this);
        //delete.setLayoutParams(new ViewGroup.LayoutParams(50,50));
        delete.setText("Delete");

        LayoutParams btnParams = new LinearLayout.LayoutParams(70, 70);
        btnParams.setMargins(0, 0, 15, 0);


        item.addView(itemNum,numParams);            
        item.addView(itemDetails);
        item.addView(delete,btnParams);

        page.addView(item);
        Log.d("Loop","Loop is adding function in");                     
    }

誰かが私が間違っているところを見ることができれば、本当に感謝しています。上記の方法は非常に長く見えるかもしれませんが、私はJavaが初めてです。

それが役立つかどうかはわかりませんが、textView に表示する文字列は次のとおりです。

String formatText = lat + ", " + lng + " /n" + result;
4

0 に答える 0