我正在尝试根据这张照片创建一个布局(paint'ed)。
目标级别是API 17.这必须以编程方式创建,而不是使用XML。这必须是响应式设计。
我在stackoverflow上广泛研究并尝试了其他部分类似的情况,使用GridLayout,TableLayout,GridView,各种布局参数,重力,权重,视图嵌套等。但是,
(a)根据设备屏幕尺寸和方向,我无法获得文本按钮宽度以填充可用宽度不动产。文本较短的按钮宽度较短。
(b)加号,减号和数字按钮具有固定的高度和宽度,与屏幕尺寸和方向无关。但是它们没有与同一行左侧的文本按钮对齐。只有底部的几个像素可见。
我很感激任何可以实现上述布局的代码段。万分感谢。
更新:
根据@ tiny-sunlight的输入,我做到了这一点。接下来,我将以编程方式重新创建。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/layoutTable"
android:padding="5dp"
android:orientation="vertical"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/layoutRow"
android:padding="5dp"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_marginEnd="10dp"
android:layout_weight="17"
android:text="This is my button"
android:textSize="15sp"
android:textAllCaps="false"
android:gravity="start"
android:layout_width="0dp"
android:layout_height="40dp" />
<Button
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:text="-"
android:textSize="15sp"
android:textStyle="bold"
android:layout_width="40dp"
android:layout_height="40dp" />
<TextView
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:layout_marginTop="0dp"
android:paddingTop="10dp"
android:text="0"
android:textSize="15sp"
android:gravity="center"
android:layout_width="40dp"
android:layout_height="40dp" />
<Button
android:layout_weight="1"
android:text="+"
android:textSize="15sp"
android:textStyle="bold"
android:layout_width="40dp"
android:layout_height="40dp" />
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
您可以使用回收站视图,它将为您提供滚动选项和动态绑定视图。
因此,将线性布局(方向水平)加载到回收器视图中。现在,对于布局,它变得更容易。你需要一个textview,button,textview,button。 对于每个textview和button,分别设置widht = 0dp和weight为7,1,1,1,即你最左边的textview占据宽度的70%而其他所有占据10%。显然,您可以根据您的要求更改这些重量。这就是布局。
现在只需使用适配器填充数据。
答案 1 :(得分:0)
尝试以编程方式构建布局。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:padding="5dp"
android:orientation="vertical"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:padding="5dp"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_marginRight="10dp"
android:layout_weight="1"
android:text="1111"
android:layout_width="0dp"
android:layout_height="40dp" />
<ImageView
android:layout_marginRight="5dp"
android:src="@mipmap/ic_launcher"
android:layout_width="40dp"
android:layout_height="40dp" />
<TextView
android:layout_marginRight="5dp"
android:background="#44bb11"
android:layout_marginTop="0dp"
android:paddingTop="10dp"
android:text="11"
android:layout_width="40dp"
android:layout_height="40dp" />
<ImageView
android:src="@mipmap/ic_launcher"
android:layout_width="40dp"
android:layout_height="40dp" />
</LinearLayout>
</LinearLayout>
</ScrollView>