如何更改Button的宽度

时间:2013-11-16 09:46:18

标签: android android-button

我正在使用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);
            }   
        }

3 个答案:

答案 0 :(得分:0)

<ImageView
android:id="@+id/ColImgPath" 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher" />

答案 1 :(得分:0)

由于您的文字已修复为“上传”,请尝试

`<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 :(得分:0)

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

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

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