gpt4 book ai didi

android-layout - 以编程方式遵循 XML 的 Android TextView

转载 作者:行者123 更新时间:2023-11-30 03:50:27 24 4
gpt4 key购买 nike

我目前有这个 xml:

<TextView android:id="@+id/dummy"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/test"
android:textStyle="bold" />

我正在尝试将其转换为 Java 版本,以便我可以设置字体:

setContentView(R.layout.activity_main);

// the get the activity_main layout (getContentView method does not exist?)
FrameLayout layout = (FrameLayout) findViewById(android.R.id.content);

final TextView textView = new TextView(context);
textView.setId(R.id.dummy);

FrameLayout.LayoutParams contentLayout = new FrameLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
contentLayout.gravity = Gravity.CENTER;
textView.setText(R.string.test);

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/arial.ttf");
textView.setTypeface(tf);

layout.addView(textView, contentLayout);

我遇到的问题是重力不起作用或 match_parent。文本最终位于右上角,而不是像在 xml 版本中那样位于中心。

最佳答案

在 XML 中,您要在 TextView 中设置 text 的重力。在代码中,您设置了 TextView 的布局重力。

要复制您在 XML 中所做的操作,请更改以下行:

contentLayout.gravity = Gravity.CENTER;

到:

textView.setGravity(Gravity.CENTER);

如果您的 XML 具有 android:layout_gravity="center" 而不是 android:gravity="center" 那么您的代码将按原样匹配。

关于android-layout - 以编程方式遵循 XML 的 Android TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14237268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com