1

我有一个非常简单的布局:

<?xml version="1.0" encoding="utf-8"?>
<!--  -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog_progress"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@drawable/b"
    android:scaleType="fitXY" >

    <ProgressBar
        android:id="@+id/progressD"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="10dp"
        android:progress="0" />

    <TextView
        android:id="@+id/numberO"
        style="@android:style/TextAppearance.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/progressD"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:textColor="#FFFFFF"
        android:textStyle="bold" />


</RelativeLayout>

我像这样膨胀它:

public class MyFragment extends
    SherlockDialogFragment {

    static MyFragment newInstance() {
         MyFragment theDialog = new MyFragment();
         return theDialog;
        }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
        View v = inflater.inflate(
        R.layout.dialog_show_progress_during_connection_test,
        container, false);

这就是我展示它的方式:

 public void showIt(final Device device) {
    //first create the DialogFragment to show the progress
    theDialog = theDialog
        .newInstance();

    theDialog.show(getSupportFragmentManager(),
        "dialog");

    getSupportFragmentManager().executePendingTransactions();
    }

片段相当窄 - 大约是屏幕宽度的 1/3,即使我明确有“match_parent”

奇怪的是,在运行 Android 2.1 的旧 Android 手机上,它几乎膨胀到屏幕的宽度——而在所有其他运行 Android 4+ 的手机上,它是窄的。

我检查了容器的值,在所有情况下它都是空的。(不应该是父母吗?)

夏洛克会不会有问题?

我什至将宽度明确设置为 1000dp,但新片段仍然很窄。更改为 LinearLayout 也无济于事。

任何想法可能是什么原因?

我让它变得更宽的唯一方法是在所有地方设置特定的宽度,如“500dp”!在这个 xml 文件中。非常感谢!

4

1 回答 1

0

我经历过一些属性可以覆盖layout_width-attribute。尝试从您的 RelativeLayout 中删除 layout_centerHorizo​​ntal、layout_centerVertical 和 scaleType。据我所知,它们都没有任何意义。

于 2012-10-18T07:08:29.057 回答