簡體   English   中英

是否有可能從layout.xml android中的活動中獲取變量的值?

[英]Is it possible to obtain the value of a variable from the activity in the layout.xml android?

我需要知道我是否可以從主活動中獲取計算出的數字,並從我的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"不是真實的,只是為了展示我需要的東西。 如果我要求的只能在可以正常工作的活動中完成。 ps我是一個菜鳥。 謝謝

你不能。 您只能從其他XML資源引用常量和值,但不能引用Java代碼。

而是,計算不同屏幕大小的值,並將其放入dimens.xml相應的res文件夾。 如果無法計算,則只需通過MarginLayoutParams在運行時設置它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM