首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android :将按钮高度/长度设置为Android设备的某个百分比?

Android :将按钮高度/长度设置为Android设备的某个百分比?
EN

Stack Overflow用户
提问于 2018-07-06 02:25:45
回答 2查看 732关注 0票数 0

在高度和宽度方面,我正试图在多个Android设备上标准化按钮的大小。例如,我希望长度是设备宽度的三分之一,而高度大约是设备高度的5-10%。我试着扩展:

代码语言:javascript
复制
        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_gravity="center|bottom"

        android:gravity="center_horizontal"

都没有用。

任何帮助都将不胜感激。我正在运行Android 1.4.0。

-A

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-06 02:34:59

在本例中可以使用PercentRelativeLayout

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.journaldev.percentlayouts.MainActivity">

    <Button
        android:text="Hello World!"
        android:textSize="20sp"
        app:layout_heightPercent="10%"
        app:layout_widthPercent="30%" />

</android.support.percent.PercentRelativeLayout>

我会要求有等级依赖性

代码语言:javascript
复制
compile 'com.android.support:percent:23.3.0'

如果您使用的是最新的API (As PercentRelativeLayout is deprecated),则可以使用ConstraintLayout来完成它。

代码语言:javascript
复制
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

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

    <android.support.constraint.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/top_guideline"
        app:layout_constraintGuide_percent=".15"
        android:orientation="horizontal"/>

    <android.support.constraint.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bottom_guideline"
        app:layout_constraintGuide_percent=".85"
        android:orientation="horizontal"/>

    <Button
        android:text="Button"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:id="@+id/button"
        app:layout_constraintLeft_toLeftOf="@+id/left_guideline"
        app:layout_constraintRight_toRightOf="@+id/right_guideline"
        app:layout_constraintTop_toTopOf="@+id/top_guideline"
        app:layout_constraintBottom_toBottomOf="@+id/bottom_guideline" />

</android.support.constraint.ConstraintLayout>
票数 0
EN

Stack Overflow用户

发布于 2018-07-06 04:13:47

尝试从java编程完成它。

1.获取设备屏幕尺寸,并计算您所需的内容。

2.在目标视图上或通过布局参数调用setHeight和setWidth。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51202204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档