如何使用支持百分比库在布局中奇数个视图之间平均划分空间?

时间:2015-10-29 12:44:55

标签: android android-layout android-support-library android-percent-library percent-support-library

我在项目中使用支持百分比库。

compile 'com.android.support:percent:23.1.0'

我在LinearLayout中有三个ImageViews,它们应该平均占据空间(水平方向)。但由于百分比支持库只有PercentRelativeLayout和PercentFrameLayout所以我用Google搜索了PercentLinearLayout并找到了one sample for it

这是布局代码:

<com.example.layouts.PercentLinearLayout
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:background="@drawable/img_01"
        app:layout_widthPercent="33.3%" />  // <- what should I write here?

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:background="@drawable/img_02"
        app:layout_widthPercent="33.3%" />  // <- and here..

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:background="@drawable/img_03"
        app:layout_widthPercent="33.3%" /> // <- and here..

</com.example.layouts.PercentLinearLayout>

你可以看到我为每个ImageView分配了33.3%的空间,但仍有0.1%的空间。虽然0.1%的屏幕空间并没有那么重要,但目前的方法对我来说似乎并不合适。

PS:早些时候我使用的是权重(每个ImageView都有权重1),但由于它对性能不好所以我决定改用百分比。

2 个答案:

答案 0 :(得分:2)

您可以使用LinearLayout weightSum设置为3,android:layout_weight="1"设置为ImageView

答案 1 :(得分:0)

如果你想用百分比来做,你可以将recyclerView.addOnItemTouchListener( new RecyclerItemClickListener(this, new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { Toast.makeText(HomeActivity.this, " " + position, Toast.LENGTH_SHORT).show(); } }) ); 设置为100,然后将weightSum设置为你想要的数字百分比。