android PercentRelativeLayout 支持百分比来设置控件的宽高

Android 最终官方支持按百分比来设置控件的宽高了。

我们先来看看效果:

     

看一下布局:

PercentRelativeLayout

<android.support.percent.PercentRelativeLayout

    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">

    <View

        android:id="@+id/top_left"

        android:layout_width="0dp"

        android:layout_height="0dp"

        android:layout_alignParentTop="true"

        android:background="#ff44aacc"

        app:layout_heightPercent="20%"

        app:layout_widthPercent="70%" />

    <View

        android:id="@+id/top_right"

        android:layout_width="0dp"

        android:layout_height="0dp"

        android:layout_alignParentTop="true"

        android:layout_toRightOf="@+id/top_left"

        android:background="#ffe40000"

        app:layout_heightPercent="20%"

        app:layout_widthPercent="30%" />

    <View

        android:id="@+id/bottom"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_below="@+id/top_left"

        android:background="#ff00ff22"

        app:layout_heightPercent="80%" />

</android.support.percent.PercentRelativeLayout>

PercentFrameLayout

<android.support.percent.PercentFrameLayout

    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">

        <!-- ... XML CODE -->

</android.support.percent.PercentFrameLayout>

Stylable :

  • heightPercent
  • widthPercent
  • marginBottomPercent
  • marginEndPercent
  • marginLeftPercent
  • marginPercent
  • marginRightPercent
  • marginStartPercent
  • marginTopPercent

支持:

  • Android SDK v22
  • Android Build Tools v22.0.1
  • Android Percent Support Repository v22.2.0
  • Android Support v4 Repository v22.2.0

according to the the manifest minsdk is v7 (android 2.1)

github地址:https://github.com/JulienGenoud/ ... -support-lib-sample

官网介绍:https://juliengenoud.github.io/a
... support-lib-sample/

时间: 2025-01-05 17:38:16

android PercentRelativeLayout 支持百分比来设置控件的宽高的相关文章

Android 终于官方支持按百分比来设置控件的宽高了

dependencies { compile 'com.android.support:percent:22.2.0' } 支持布局 PercentRelativeLayout <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/

android——如何理解控件的宽高及layout_grivaty与grivaty的区别

关于Layout_width/height引发的宽高思考 方式一: 结果不符合预期. 运行结果: 方式二: 结果符合预期. 如下图: Android控件宽高的规则: Android下的控件默认没有宽高,是由父控件给其宽高的. 其中一般的view控件是由(ViewGroup控件:LinearLayout.RelativeLayout .TableLayout.FrameLayout .AbsoluteLayou )五大布局给其宽高的. 而像LinearLayout.RelativeLayout等这

Android在onCreate中获取控件的宽高

在某些需求下,我们需要在onCreate的时候就获取到控件的宽高,但是如果直接用view.getWidth()或view.getHeight()会得到0.这是因为在onCreate执行的时候,控件还没有被绘制出来. 利用下面的方法可以获得控件的宽高: ViewTreeObserver vto = zoomImageView.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener(

uwp - 获取控件的宽高

在wpf可以通过控件.Width/Height来获取宽高,来到uwp上却没效果,在微软的开发人员中心找到了答案. 所以,我们要在后台获取控件的宽高应该是:控件.ActualHeight/ActualWidth.

activity 中获取控件的宽高

1.第一种方式: TextView textview3 = findViewById(R.id.textview3); textView3.post(new Runnable() { @Override public void run () { int width = textView3.getWidth(); ViewGroup.LayoutParams layoutParams = button2.getLayoutParams(); layoutParams.width = width;

Android中控件的宽高

1.在一个Relatitivelayout布局里用代码add一个独立的button布局,结果该button的宽高无效 则说明:Android中控件默认是没有宽高的,只有五大布局才能给其宽高,即在代码中要设置控件的宽高需要使用福控件的layoutparams 命名规则:layout_width 想通的:layout_gravity和gravity 2.直接在activity中setContentView里引用最外层为button的布局,则也有宽高 原因:android默认在最外层给添加了Frame

【转】获取Android控件的宽和高

我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例: 首先我们自己写一个控件,这个控件非常简单: public class MyImageView extends ImageView { public MyImageView(Context context, AttributeSet attrs) { super(context, attrs); } public MyImageView(Context context) { super(context); }

子控件根据父控件行宽自动换行---LineWrapLayout实现

一些带搜索功能的app,在搜索栏下面一般会提供一些关键字供用户选择. 也可以根据用户输入的文字,在下一次使用的时候该文字出现在常用关键字里面,只要轻轻一点就可以搜索了,无需再次输入. 关键字可以动态添加,这就要考虑换行的问题了 废话不多说,先上效果图: 先定义2个自定义属性 <declare-styleable name="linewarplayout"> <attr name="magin" format="integer"

Android给TextView和EditText等控件设置透明背景、圆角边框

第一种方法:在drawable文件夹下新建一个文件设置背景样式 代码: 在drawable文件夹下面新建textviewborder.xml <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#80858