마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 스튜디오의 TextView를 화면 가운데로 옮기는 방법을 알고 싶습니다. ㅜㅜ 도와주세요. ㅠㅠ

0 추천
안드로이드 스튜디오에서 TextView를 화면의

가운데 쪽으로 옮기고 싶습니다.

처음엔 setText가 안먹히길래 해결법을 찾다가

runOnUiThread를 사용하여 해결을 했습니다.

 

그 다음 TextView를 화면 가운데로 옮기고 싶어서

setGravity를 적용하려고 해보니, 이건 TextView의

위치를 옮기는 역할을 하는 게 아니더군요.

 

하나 해결하면 또 하나가 문제고, 또 하나를 십수시간

걸쳐서 해결하면 또 하나가 문제니... 참 끝이 없네요. ㅜㅜ

이번에도 이 방법 저 방법 다 해보다가 도저히 안되서

질문 올립니다. 도와주세요. ㅠㅠ

 

public class ABC extends Activity
{
   ...
   ...
   ...

 

   @Override
   protected void onCreate(Bundle savedInstanceState)
   {
      ...
      ...
      ...

      Game game = new Game(this);
      RelativeLayout screen = new RelativeLayout(game.getContext());
      TextView text = new TextView(game.getContext());

      ...
      ...
      ...

      button.setOnClickListener(new View.OnClickListener()
      {
         @Override
         public void onClick(View view)
         {
            setContentView(screen);
            screen.addView(game);
            game.start();
         }
      });
   }

   public Class Game extends TextureView implements TextureView.SurfaceTextureListener, View.OnTouchListener
   {
      public Game(Context context)
      {
         super(context);
         setSurfaceTextureListener(this);
         setOnTouchListener(this);
      }

      public void start()
      {
         text.setText("1단계");
         screen.addView(text);

         task = new TimerTask()
         {
            @Override
            public void run()
            {
               ...
               ...
               ...
            }

            timer = new Timer();
            timer.schedule(task, 5000, 5000);
         };

 

         runOnUiThread(new Runnable()
         {
            @Override
            public void run()
            {
               text.setText("Level "+level);
               text.setGravity(Gravity.CENTER);
            }
         });

         thread = new Thread(new Runnable()
         {
            @Override
            public void run()
            {
               ...
               ...
               ...
abchs8wyw (1,710 포인트) 님이 2016년 11월 13일 질문
abchs8wyw님이 2016년 11월 13일 수정

1개의 답변

0 추천
float height = 50f;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FrameLayout screen = new FrameLayout(this);
    TextView text = new TextView(this);
    text.setBackgroundColor(Color.parseColor("#000000"));
    text.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 100));
    screen.addView(text);
    setContentView(screen);
    text.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            height+=50f;
            view.animate().y(height);
        }
    });
}
익명사용자 님이 2016년 11월 14일 답변
...