按钮大小错误

时间:2017-06-08 20:38:44

标签: android xml android-layout xamarin xamarin.android

我有DialogFragment布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/white"
android:orientation="vertical"
android:paddingTop="21dp"
android:paddingLeft="24dp"
android:paddingRight="8dp"
android:paddingBottom="8dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
    android:text="@string/lbl_why_go_away"
    android:textStyle="bold"
    android:textColor="@color/whyGoAwayCaption"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="@dimen/fontHuge"
    android:layout_marginBottom="5dp"
    android:layout_marginRight="18dp"
    android:layout_weight="0" />
<ListView
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_marginRight="18dp"
    android:id="@+id/reasonsList" />
<EditText
    android:inputType="textMultiLine"
    android:layout_width="match_parent"
    android:layout_height="108dp"
    android:layout_marginTop="18dp"
    android:layout_marginRight="18dp"
    android:layout_marginBottom="24dp"
    android:gravity="top|left"
    android:padding="16dp"
    android:background="@drawable/cancel_dialog_your_reason_bg"
    android:hint="@string/ph_your_reason"
    android:layout_weight="0"
    android:id="@+id/otherReasonEditText" />
<LinearLayout
    android:orientation="horizontal"
    android:layout_weight="0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="right">
    <Button
        android:background="#CCCCCC"
        android:text="@string/btn_return"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/primaryRed"
        android:drawablePadding="0dp"
        android:gravity="center_vertical"
        android:layout_margin="0dp"
        android:paddingLeft="9dp"
        android:paddingRight="9dp"
        android:paddingTop="9dp"
        android:paddingBottom="9dp"
        android:id="@+id/returnButton" />
  <Button
        android:background="#CCCCCC"
        android:text="@string/btn_ready"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="9dp"
        android:paddingRight="9dp"
        android:paddingTop="9dp"
        android:paddingBottom="9dp"
        android:drawablePadding="0dp"
        android:layout_margin="0dp"
        android:textColor="@color/primaryRed"
        android:gravity="center_vertical"
        android:id="@+id/readyButton" />
</LinearLayout>

这看起来像这样(Android 4.2 Galaxy S4):

enter image description here

按钮大小问题。他们应该只在文本周围填充8dp而不是其他内容,但它们比文本大小要大得多。如果我将背景设置为@android:color/transparent视图是相同的。告诉我,出了什么问题?

PS:这是正确的视图(VisualStudio中的预览截图)

enter image description here

2 个答案:

答案 0 :(得分:1)

将按钮更改为此按钮

<Button
    android:id="@+id/returnButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="0dp"
    android:background="#CCCCCC"
    android:drawablePadding="0dp"
    android:gravity="center"
    android:padding="9dp"
    android:text="text" />

<Button
    android:id="@+id/readyButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="0dp"
    android:background="#CCCCCC"
    android:drawablePadding="0dp"
    android:gravity="center"
    android:padding="9dp"
    android:text="text" />

答案 1 :(得分:1)

按钮的大小固定。你无法改变它。你可以把它做大,但不能做得那么小。在使用对话框时,您可以使用textview而不是按钮。他们用textview进行操作。如果你想给出一个像形状一样的按钮,你可以使用一个LinearLayout并将其布局成一个形状......