【问题标题】:How to change the width of Button如何更改按钮的宽度
【发布时间】:2013-11-16 09:46:17
【问题描述】:

我正在使用 wrap_content 但仍然获得全宽的巨大获取按钮,请参阅此图片:http://postimg.org/image/98g89n2yr/

正如您在我的屏幕截图中看到的,我正在获取全宽上传按钮,但需要使用 wrap_content 使其宽度变小,但不知道丢失的位置。

activity_column.xml:-

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<ImageView
    android:id="@+id/ColImgPath"
    android:layout_width="95dp"
    android:layout_height="110dp"
    android:src="@drawable/ic_launcher"
    />

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

<TableLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<TableRow
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
<TextView
    android:id="@+id/ColImgName"
    android:text="Column 1" />
</TableRow>

<TableRow
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

<TextView
    android:id="@+id/ColStatus"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Status" />

</TableRow>

<TableRow
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

<Button
    android:id="@+id/btnUpload"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Upload"
    />

<Button
    android:id="@+id/btnData"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:text="Data"
    />

</TableRow>

</TableLayout>

</LinearLayout>

activity_uploads.xml:-

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">


<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/galleryHead"
        android:textColor="@android:color/holo_orange_dark" />

    <TextView
        android:id="@+id/txtEventNameDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</TableRow>

<View
android:layout_height="1dip"
android:background="#CCCCCC" />

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1">  

<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>

</LinearLayout>


</TableLayout>

活动代码:-

// btnUpload
                final Button btnUpload = (Button) convertView.findViewById(R.id.btnUpload);
                btnUpload.setTextColor(Color.BLACK);
                btnUpload.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        // Upload
                        btnUpload.setEnabled(false);
                        btnUpload.setTextColor(Color.GRAY);
                        startUpload(position);
                    }
                });
                return convertView;
                }


// Prepare Status
            if(strStatusID.equals("0"))
            {
                // When update Failed
                status.setText("Exist "+ strError);
                status.setTextColor(Color.RED);

                // Enabled Button again
                Button btnUpload = (Button) v.findViewById(R.id.btnUpload);
                btnUpload.setText("Uploaded");
                btnUpload.setTextColor(Color.RED);
                btnUpload.setEnabled(true);
            }
            else
            {
                status.setText("Done");
                status.setTextColor(Color.GREEN);
            }   
        }

【问题讨论】:

  • 使用margin-left和margin-right,它会减小你的按钮尺寸

标签: android android-button


【解决方案1】:

由于您的文字被固定为“上传”尝试

`<Button
android:id="@+id/btnUpload"
style="?android:attr/buttonStyleSmall"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner"
android:text="Upload"
/>`

设置宽度 150dp 。检查按钮宽度是否减小,如果不起作用,您必须根据需要减小图像宽度

【讨论】:

    【解决方案2】:

    也许是因为你的drawable....所以它包装了背景drawable的内容。

    如果这是问题所在。这是一个教程如何使用draw 9补丁制作正确的按钮。

    http://www.thesecretpie.com/2010/07/creating-custom-fancy-buttons-in.html?m=1

    【讨论】:

      【解决方案3】:
      <ImageView
      android:id="@+id/ColImgPath" 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:background="@drawable/ic_launcher" />
      

      【讨论】:

      • 无法通过使用 wrap_content 解决图像的高度和宽度
      • 去掉那一行 style="?android:attr/buttonStyleSmall"
      猜你喜欢
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      • 2016-05-10
      相关资源
      最近更新 更多