我在项目中使用支持百分比库。
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),但由于它对性能不好所以我决定改用百分比。答案 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
设置为你想要的数字百分比。