TextView-프로그래밍 방식으로 텍스트 크기를 설정해도 작동하지 않는 것 같습니다 다시 작성하지 않는다고 생각했지만 파란색 배경을

Eclipse Indigo를 사용하고 2 개의 에뮬레이터 (2.2 및 3.0)에서 테스트 중입니다.

아래 코드는 현재 테스트중인 것을 보여 주지만 에뮬레이터를 실행하려고 할 때 텍스트 크기를 설정하면 화면에 아무것도 표시되지 않습니다 (텍스트 크기를 주석 처리하면 텍스트가 빨간색으로 표시됩니다). 나는 어떻게 든 일식이 코드를 다시 작성하지 않는다고 생각했지만 파란색 배경을 추가하기 위해 코드 줄을 추가했으며 효과가있었습니다. 여전히 성공하지 못한 텍스트를 설정 한 후 텍스트 크기 설정을 시도했습니다. 코드는 아래와 같습니다. 당신의 도움을 주셔서 감사합니다! (면책 조항)-XML을 멀리하려고합니다. 내가 이미 자바를 알고 있기 때문에 나는 그것에 의존하고 싶지 않습니다.

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;

public class TestAndroidvs2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TextView text = new TextView(this);
    text.setTextColor(Color.RED);
    text.setTextSize(2);    
    text.setBackgroundColor(Color.BLUE);
    text.setText("Hello Android");


    setContentView(text);
  }
}



답변

텍스트 크기 2는 실제로 보이지 않습니다. 적어도 14로 시도하십시오. BTW, xml을 사용하면 많은 장점이 있으며 ‘Hello World’보다 더 복잡한 것을 해야하는 경우 인생을 더 쉽게 만들 수 있습니다.


답변

이 방법 TextView.setTextSize(int unit , float size);에는 두 가지 매개 변수가 사용됩니다.

이 시도 :

text.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);

이것이것을 참조하십시오 .

업데이트 :
이제 setTextSize(float size)텍스트 크기 를 ” “단위로 자동 설정합니다 scaled pixel. COMPLEX_UNIT_SP를 수동으로 언급 할 필요가 없습니다. 설명서를 참조하십시오 .


답변

이것은 나를 위해 문제를 해결했습니다. 모든 장치에서 글꼴 크기가 균일합니다.

 textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimension(R.dimen.font));


답변

현재 setTextSize(float size)방법이 잘 작동 하므로 텍스트 크기를 변경 하기 위해 다른 방법을 사용할 필요가 없습니다.

android.widget.TextView.java 소스 코드

/**
 * Set the default text size to the given value, interpreted as "scaled
 * pixel" units.  This size is adjusted based on the current density and
 * user font size preference.
 *
 * <p>Note: if this TextView has the auto-size feature enabled than this function is no-op.
 *
 * @param size The scaled pixel size.
 *
 * @attr ref android.R.styleable#TextView_textSize
 */
@android.view.RemotableViewMethod
public void setTextSize(float size) {
    setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
}

사용 예

textView.setTextSize(20); // set your text size = 20sp


답변

코드에서 텍스트 크기 설정에 대한 자세한 내용 은 링크를 참조하십시오 . 기본적으로 그것은 말합니다 :

공공 무효 setTextSize (INT 단위, 부동 크기)

이후 : API 레벨 1 기본 텍스트 크기를 지정된 단위 및 값으로 설정하십시오. 가능한 차원 단위는 TypedValue 를 참조하십시오 . 관련 XML 속성

android : textSize 매개 변수

단위 원하는 치수 단위입니다.
size 주어진 단위로 원하는 크기.


답변

내 경우에는이 방법을 사용했습니다 .

public static float pxFromDp(float dp, Context mContext) {
    return dp * mContext.getResources().getDisplayMetrics().density;
}

프로그래밍 방식으로 TextView의 TextSize를 설정하십시오 .

textView.setTextSize(pxFromDp(18, YourActivity.this));

계속 즐기십시오 🙂


답변