如何使按钮的尺寸相对于屏幕尺寸?

时间:2018-09-16 07:44:26

标签: android

如何将按钮的宽度设置为例如屏幕的四分之一或五分之一?

3 个答案:

答案 0 :(得分:0)

采用屏幕宽度,然后将其除以 2 (这样就可以得到屏幕宽度的一半),然后再除以 2 ,即可得到屏幕宽度的四分之一。屏幕宽度:

button_width = (screen_width/4)

答案 1 :(得分:0)

您可以使用ConstraintLayout作为父项,并以0dp的宽度将其添加为孩子,然后将app:layout_constraintWidth_percent设置为所需的百分比。

<android.support.constraint.ConstraintLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:id="@+id/activity_main_inference"
  android:layout_width="match_parent"
  android:layout_height="match_parent">


<View
    android:id="@+id/viewTop"
    android:layout_width="0dp"
    android:layout_height="100dp"
    android:layout_marginTop="16dp"
    android:background="@android:color/darker_gray"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintWidth_default="percent"
    app:layout_constraintWidth_percent="0.5" />
 </android.support.constraint.ConstraintLayout>

答案 2 :(得分:0)

您可以使用ConstraintLayout并设置垂直的Guideline,下面是一个示例:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <android.support.constraint.Guideline
        android:id="@+id/guideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_percent="0.25"
        />

    <Button
        android:id="@+id/button"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Button"
        app:layout_constraintEnd_toStartOf="@+id/guideline"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />
</android.support.constraint.ConstraintLayout>