gpt4 book ai didi

java - 是否可以从 layout.xml android 中的 Activity 中获取变量的值?

转载 作者:数据小太阳 更新时间:2023-10-29 02:39:28 27 4
gpt4 key购买 nike

我需要知道我是否可以从我的主要 Activity 中获取一个计算数字并从我的 layout.xml 中访问它。

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
float margin_top = (1920f/height) * 125;
String margin_top_str = Float.toString(margin_top) + "dp";
}

layout.xml代码

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:id="button"
android:background="#f57878"
android:textSize="48dp"
android:layout_alignParentTop="true"
android:layout_marginTop="@MainActivity.java/margin_top_str"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#000000" />

android:layout_marginTop="@MainActivity.java/margin_top_str" 行不是真实的,只是为了展示我的需要。如果我所要求的只能在 Activity 中完成,那也可以正常工作。附:我是菜鸟。谢谢

最佳答案

不,你不能。您只能引用来自其他 XML 资源的常量和值,但不能引用 Java 代码。

相反,计算不同屏幕尺寸的值并放入 dimens.xml 中相应的 res 文件夹。如果无法计算,则只需在运行时通过 MarginLayoutParams 设置即可。

关于java - 是否可以从 layout.xml android 中的 Activity 中获取变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36853047/

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