Android中的RelativeLayout上没有显示某些按钮

时间:2016-05-19 07:00:11

标签: android android-layout android-studio android-relativelayout

我使用RelativeLayout来创建布局。在这里我设计如下布局。我正在使用android studio。

enter image description here

这是我的布局代码,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/content24"
        android:id="@+id/step19textView"
        android:textSize="18dp"
        android:textAlignment="center"
        android:paddingRight="10dp"
        android:paddingLeft="10dp"
        android:paddingBottom="10dp"
        android:paddingTop="10dp"
        android:layout_marginTop="32dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
<HorizontallScrollBar>
  <LinearLayout
           Orienteation= "horizontal";>
    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="1"
        android:id="@+id/step19button1"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:background="@drawable/button_border"
        android:layout_below="@+id/step19textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="50dp" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="2"
        android:id="@+id/step19button2"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:layout_alignTop="@+id/step19button1"
        android:layout_toRightOf="@+id/step19button1"
        android:layout_toEndOf="@+id/step19button1"
        android:background="@drawable/button_border"/>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="3"
        android:id="@+id/step19button3"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:layout_alignBottom="@+id/step19button2"
        android:layout_toRightOf="@+id/step19button2"
        android:layout_toEndOf="@+id/step19button2"
        android:background="@drawable/button_border"/>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="4"
        android:id="@+id/step19button4"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:textColor="@android:color/white"
        android:layout_alignBottom="@+id/step19button3"
        android:layout_toRightOf="@+id/step19button3"
        android:layout_toEndOf="@+id/step19button3"
        android:background="@drawable/button_border_5"/>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="5"
        android:id="@+id/step19button5"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:layout_alignBottom="@+id/step19button4"
        android:layout_toRightOf="@+id/step19button4"
        android:layout_toEndOf="@+id/step19button4"
        android:background="@drawable/button_border"/>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="6"
        android:id="@+id/step19button6"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:layout_alignBottom="@+id/step19button5"
        android:layout_toRightOf="@+id/step19button5"
        android:layout_toEndOf="@+id/step19button5"
        android:background="@drawable/button_border"/>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="7"
        android:id="@+id/step19button7"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:layout_alignBottom="@+id/step19button6"
        android:layout_toRightOf="@+id/step19button6"
        android:layout_toEndOf="@+id/step19button6"
        android:background="@drawable/button_border"/>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="8"
        android:id="@+id/step19button8"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:layout_alignBottom="@+id/step19button7"
        android:layout_toRightOf="@+id/step19button7"
        android:layout_toEndOf="@+id/step19button7"
        android:background="@drawable/button_border"/>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:text="9"
        android:id="@+id/step19button9"
        android:textSize="13dp"
        android:layout_marginLeft="3dp"
        android:layout_alignBottom="@+id/step19button8"
        android:layout_toRightOf="@+id/step19button8"
        android:layout_toEndOf="@+id/step19button8"
        android:background="@drawable/button_border"/>
    </LinearLayout>
  </HorizontalScrollBar>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="20dp"
        android:id="@+id/step19editText"
        android:paddingLeft="10dp"
        android:layout_below="@+id/step19button1"
        android:layout_alignLeft="@+id/step19button1"
        android:layout_alignStart="@+id/step19button1"
        android:layout_marginTop="20dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="20dp"
        android:id="@+id/step19editText2"
        android:layout_alignTop="@+id/step19editText"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="20dp"
        android:id="@+id/step19editText3"
        android:paddingRight="10dp"
        android:layout_alignTop="@+id/step19editText2"
        android:layout_alignRight="@+id/step19button9"
        android:layout_alignEnd="@+id/step19button9" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/content25"
        android:id="@+id/step19textView2"
        android:textAlignment="textStart"
        android:textSize="18dp"
        android:paddingLeft="10dp"
        android:layout_alignTop="@+id/step19textView4"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/content26"
        android:id="@+id/step19textView4"
        android:textSize="18dp"
        android:textAlignment="center"
        android:layout_alignTop="@+id/step19textView5"
        android:layout_centerHorizontal="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/content27"
        android:id="@+id/step19textView5"
        android:textSize="18dp"
        android:textAlignment="textEnd"
        android:paddingRight="10dp"
        android:layout_below="@+id/step19editText3"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="    Next    "
        android:textSize="18dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:id="@+id/step19nextbutton"
        android:layout_marginTop="59dp"
        android:textColor="@android:color/white"
        android:background="@drawable/button_border_5"
        android:layout_below="@+id/step19textView4"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

当我尝试在三星Galaxy S Duos 3 http://www.gsmarena.com/samsung_galaxy_s_duos_3-6662.php),8&amp;虽然设计看起来像是那样但没有显示9个按钮。

我希望显示所有按钮在图像上看起来像。 有什么想法吗?

谢谢。

4 个答案:

答案 0 :(得分:1)

nexus 4的屏幕尺寸明显大于samsung galaxy duos 3的{​​{1}}。这就是为什么你的一些按钮离开屏幕边界的原因。所以我建议用0.7"

包装它们
HorizontalScrollView

使用 <HorizontalScrollView android:layout_width="wrap_content" android:layout_height="wrap_content" ...> Here are your buttons </HorizontalScrollView> 并使用LinearLayoutweight属性管理它们,如code所述。

答案 1 :(得分:1)

有两种方法可以解决此问题。

使用布局权重

样本将是这样的

<LinearLayout
    android:orientation = "horizontal"
    android:weightSum = "9">
    <Button
        android:layout_weight="1">
    <Button
        android:layout_weight="2">
    ...
    ...
    <!--Create 9 button with layout_weight = 1 -->
</LinearLayout>

这基本上会创建一个水平的LinearLayout,其中包含9个相同大小的按钮。因此,这些按钮的大小将是LinearLayout的1/9。

另一种方法是制作水平滚动视图

水平滚动视图可以是Horizo​​ntalScrollView,也可以是水平的RecyclerView,也可以是水平的ListView,也可以是自己的ViewGroup(水平)

在这种情况下,您可以为按钮设置自己的宽度,并可以滚动这些按钮。

我建议使用Horizo​​ntalScrollView,因为我们无法确定屏幕宽度,如果设备屏幕空间较小,那么按钮可能会被挤压并且不会留下良好的用户界面

答案 2 :(得分:1)

    <LinearLayout
               Orienteation= "horizontal";>
        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
android:layout_weight = 1

            android:text="1"
            android:id="@+id/step19button1"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:background="@drawable/button_border"
            android:layout_below="@+id/step19textView"
            android:layout_alignParentLeft="true"
            android:layout_weight = 1
            android:layout_alignParentStart="true"
            android:layout_marginTop="50dp" />

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="2"
            android:id="@+id/step19button2"
            android:layout_weight = 1
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_alignTop="@+id/step19button1"
            android:layout_toRightOf="@+id/step19button1"
            android:layout_toEndOf="@+id/step19button1"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="3"
            android:id="@+id/step19button3"
            android:textSize="13dp"
            android:layout_weight = 1
            android:layout_marginLeft="3dp"
            android:layout_alignBottom="@+id/step19button2"
            android:layout_toRightOf="@+id/step19button2"
            android:layout_toEndOf="@+id/step19button2"
            android:background="@drawable/button_border"/>

.... .....

答案 3 :(得分:1)

尝试这只是将xml替换为此

dequeueReusableCellWithIdentifier