在程序内部将布局和文本大小设置为DP,可以通过以下几种方法实现:
在XML布局文件中,可以使用android:layout_width
和android:layout_height
属性设置布局大小,使用android:textSize
属性设置文本大小。例如:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp"
android:text="Hello World!" />
在Java或Kotlin代码中,可以使用LayoutParams
对象设置布局大小,使用setTextSize
方法设置文本大小。例如:
Java:
TextView textView = new TextView(this);
textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
textView.setText("Hello World!");
Kotlin:
val textView = TextView(this)
textView.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16f)
textView.text = "Hello World!"
可以在res/values
目录下的dimens.xml
文件中定义尺寸资源,然后在布局文件或代码中使用这些资源。例如:
在res/values/dimens.xml
文件中定义尺寸资源:
<dimen name="text_size">16dp</dimen>
</resources>
在布局文件或代码中使用这个资源:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size"
android:text="Hello World!" />
Java:
TextView textView = new TextView(this);
textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
float textSize = getResources().getDimension(R.dimen.text_size);
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSize);
textView.setText("Hello World!");
Kotlin:
val textView = TextView(this)
textView.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
val textSize = resources.getDimension(R.dimen.text_size)
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSize)
textView.text = "Hello World!"
通过以上方法,可以在程序内部将布局和文本大小设置为DP。
领取专属 10元无门槛券
手把手带您无忧上云