我尝试用两列按钮创建一个音板,我也想滚动它。
这是我的XML:
<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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_weight="1"
android:gravity="center">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="@drawable/mybutton"
android:gravity="center"
android:onClick="button"
android:padding="3dp"
android:text="button"
android:textColor="#ffffff"
android:textSize="20dp" />
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_weight = "1"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="10dp"
android:background="@drawable/mybutton"
android:onClick="button1"
android:padding="5dp"
android:text="button1"
android:textColor="#ffffff"
android:textSize="20dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_weight="1"
android:gravity="center">
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_weight = "1"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="10dp"
android:background="@drawable/mybutton"
android:onClick="button2"
android:padding="3dp"
android:text="button2"
android:textColor="#ffffff"
android:textSize="20dp" />
<Button
android:id="@+id/button3"
android:layout_width="0dp"
android:layout_weight = "1"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/mybutton"
android:onClick="button3"
android:padding="5dp"
android:text="button3"
android:textColor="#ffffff"
android:textSize="20dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_weight="1"
android:gravity="center">
<Button
android:id="@+id/button4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="@drawable/mybutton"
android:gravity="center"
android:onClick="button4"
android:padding="3dp"
android:text="button4"
android:textColor="#ffffff"
android:textSize="20dp" />
<Button
android:id="@+id/button5"
android:layout_width="0dp"
android:layout_weight = "1"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="10dp"
android:background="@drawable/mybutton"
android:onClick="button5"
android:padding="5dp"
android:text="button5"
android:textColor="#ffffff"
android:textSize="20dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_weight="1"
android:gravity="center">
<Button
android:id="@+id/button6"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="@drawable/mybutton"
android:gravity="center"
android:onClick="button6"
android:padding="3dp"
android:text="button6"
android:textColor="#ffffff"
android:textSize="20dp" />
<Button
android:id="@+id/button7"
android:layout_width="0dp"
android:layout_weight = "1"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="10dp"
android:background="@drawable/mybutton"
android:onClick="button7"
android:padding="5dp"
android:text="button7"
android:textColor="#ffffff"
android:textSize="20dp" />
</LinearLayout>
</LinearLayout>
</ScrollView>
但是我得到了这个结果:https://gyazo.com/f7b60acbdb68c1de3faad3f96b5b8749
LinearLayout与父级不匹配,只填充屏幕的一半。
如何设置与整个父元素匹配的LinearLayout?
我的第二个问题是,如果我要再添加100行,这个Scrollview会完成他的工作吗?我怎么能这样做才能滚动100行?
P.S我是Android Studio的新手,对不起我的小知识。
答案 0 :(得分:1)
试试这个:
http://php.net/manual/en/context.http.php
如果您只处理1个活动和布局,这应该可以解决问题。如果你有多个片段,每个片段都有不同的大小,那可能是另一回事。
使用RecyclerView或GridView代替硬编码100行。这是一个更好的解决方案