我正在使用framelayout和线性垂直布局创建一个android布局。 我有兴趣实现这一目标
我已经创建了布局并得到了
这是布局文件的代码
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".testActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
使用framelayout的原因是因为我以后要添加浮动按钮。 如上图所示,如何在水平线性布局上获得3D效果。
答案 0 :(得分:1)
首先,应该是RecyclerView
现在,关于layouts
,有CardView
,here是结合RecyclerView和CardView的一个很好的例子。您也可以使用CardView从右侧实现该黑色按钮,但是我认为您应该使用AppCompatButton
如果您需要任何其他帮助,请发表评论。
编码愉快!
答案 1 :(得分:1)
您的解决方案在这里:
您可以使用此代码来存档您的UI
const data = [ { "deviceId": 121, "Pressure": 120 }, { "deviceId": 121, "Pressure": 80 }, { "deviceId": 130, "Pressure": 20 }, { "deviceId": 130, "Pressure": 25 }, { "deviceId": 130, "Pressure": 75 } ],
result = Object.values(data.reduce((r, {deviceId, Pressure}) => {
r[deviceId] = r[deviceId] || {deviceId, totalPressure : 0, count : 0};
r[deviceId].totalPressure += Pressure;
r[deviceId].count += 1;
return r;
}, {}))
.map(({deviceId, totalPressure, count}) => ({deviceId, 'avg-Pressure' : totalPressure/count}));
console.log(result);
答案 2 :(得分:0)
您所说的 3D 布局是 cardElevation。只需在行上使用小心的高度,您就会膨胀。这意味着如果你有很多数据,你要么使用 Recyclerview,要么如果屏幕上的数据量很少,则使用硬编码 cardView。 主要是使用每个数据点的 cardElevation 属性。