我有一个非常简单的布局:
<?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+的手机上它都很窄。
我检查了容器的值,在所有情况下都为null。 (不应该是父母吗?)
Sherlock会出现问题吗?
我甚至将宽度显式设置为1000dp,但新片段仍然很窄。 更改为LinearLayout也无济于事。
任何想法可能是什么原因?
我让这个变宽的唯一方法是在所有地方设置像“500dp”这样的特定宽度!在这个xml文件中。 非常感谢!
答案 0 :(得分:0)
我经历过一些属性可以覆盖layout_width-attribute。尝试从RelativeLayout中删除layout_centerHorizontal,layout_centerVertical和scaleType。据我所知,他们无论如何都没有任何目的。