我正在为android创建一个应用程序,其中我面临一个奇怪的问题。问题是我将按钮放在屏幕中央,在文件的图形布局中以相同的方式显示,但是当我在模拟器中运行应用程序时,按钮位于更靠近右侧而不是居中。任何人都可以指出问题。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:panel="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#CCC"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<org.miscwidgets.widget.Panel
android:id="@+id/mytopPanel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="4dip"
panel:animationDuration="1000"
panel:closedHandle="@drawable/top_switcher_collapsed_background"
panel:content="@+id/mypanelContent"
panel:handle="@+id/mypanelHandle"
panel:linearFlying="true"
panel:openedHandle="@drawable/top_switcher_expanded_background"
panel:position="top" >
<Button
android:id="@+id/mypanelHandle"
android:layout_width="fill_parent"
android:layout_height="33dip"
android:paddingRight="50dp" />
<LinearLayout
android:id="@+id/mypanelContent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/editTextUserName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_marginTop="6dp"
android:hint="@string/editUserName" >
</EditText>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:hint="@string/editUserPwd" >
</EditText>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#323299"
android:gravity="center"
android:padding="4dip"
android:text="@string/drpDwnTxt"
android:textColor="#eee"
android:textSize="16dip"
android:textStyle="bold" />
</LinearLayout>
</org.miscwidgets.widget.Panel>
<EditText
android:id="@+id/editTextNumber"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_marginTop="6dp"
android:hint="@string/editNumber" >
</EditText>
<EditText
android:id="@+id/editTextMessage"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_margin="3dp"
android:hint="@string/editPwd" >
</EditText>
<Spinner
android:id="@+id/spinnerGateway"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:entries="@array/spinnerList"
android:prompt="@string/spinnerPrompt" />
<Button
android:id="@+id/btnSend"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:onClick="save"
android:text="@string/StrbtnSend" >
</Button>
</LinearLayout>
</FrameLayout>
答案 0 :(得分:0)
请尝试使用此代码进行更改
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:panel="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#CCC"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<org.miscwidgets.widget.Panel
android:id="@+id/mytopPanel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="4dip"
panel:animationDuration="1000"
panel:closedHandle="@drawable/top_switcher_collapsed_background"
panel:content="@+id/mypanelContent"
panel:handle="@+id/mypanelHandle"
panel:linearFlying="true"
panel:openedHandle="@drawable/top_switcher_expanded_background"
panel:position="top" >
<Button
android:id="@+id/mypanelHandle"
android:layout_width="fill_parent"
android:layout_height="33dip"
android:gravity="center" />
<LinearLayout
android:id="@+id/mypanelContent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/editTextUserName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_marginTop="6dp"
android:hint="@string/editUserName" >
</EditText>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:hint="@string/editUserPwd" >
</EditText>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#323299"
android:gravity="center"
android:padding="4dip"
android:text="@string/drpDwnTxt"
android:textColor="#eee"
android:textSize="16dip"
android:textStyle="bold" />
</LinearLayout>
</org.miscwidgets.widget.Panel>
<EditText
android:id="@+id/editTextNumber"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_marginTop="6dp"
android:hint="@string/editNumber" >
</EditText>
<EditText
android:id="@+id/editTextMessage"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_margin="3dp"
android:hint="@string/editPwd" >
</EditText>
<Spinner
android:id="@+id/spinnerGateway"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:entries="@array/spinnerList"
android:prompt="@string/spinnerPrompt" />
<Button
android:id="@+id/btnSend"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:onClick="save"
android:text="@string/StrbtnSend" >
</Button>
</LinearLayout>
</FrameLayout>
答案 1 :(得分:0)
这个新的布局文件已经完成了我的工作,只是一个小错误造成了麻烦。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:panel="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#CCC"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<org.miscwidgets.widget.Panel
android:id="@+id/mytopPanel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
panel:animationDuration="1000"
panel:closedHandle="@drawable/top_switcher_collapsed_background"
panel:content="@+id/mypanelContent"
panel:handle="@+id/mypanelHandle"
panel:linearFlying="true"
panel:openedHandle="@drawable/top_switcher_expanded_background"
panel:position="top" >
<Button
android:id="@+id/mypanelHandle"
android:layout_width="wrap_content"
android:layout_height="33dip"
android:layout_gravity="center_horizontal" />
<LinearLayout
android:id="@+id/mypanelContent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/editTextUserName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_marginTop="6dp"
android:hint="@string/editUserName" >
</EditText>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:hint="@string/editUserPwd" >
</EditText>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#323299"
android:gravity="center"
android:padding="4dip"
android:text="@string/drpDwnTxt"
android:textColor="#eee"
android:textSize="16dip"
android:textStyle="bold" />
</LinearLayout>
</org.miscwidgets.widget.Panel>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<AutoCompleteTextView
android:id="@+id/mmWhoNo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@+id/btnContact"
android:hint="To: Type to search"
android:textSize="13sp" />
<Button
android:id="@+id/btnContact"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_marginTop="10dp"
android:background="@drawable/contacts_icon"
android:textSize="18dp" >
</Button>
</RelativeLayout>
<EditText
android:id="@+id/editTextMessage"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_margin="3dp"
android:hint="@string/editPwd" >
</EditText>
<Spinner
android:id="@+id/spinnerGateway"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:entries="@array/spinnerList"
android:prompt="@string/spinnerPrompt" />
<Button
android:id="@+id/btnSend"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:text="@string/StrbtnSend" >
</Button>
<TextView
android:id="@+id/txtAuthor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Designed By - Tapan Desai" />
</LinearLayout>
</FrameLayout>
答案 2 :(得分:-1)
从按钮xml中删除填充并将重力设置为居中
layout_gravity="center"//can also set horizontal or vertical
并确保您没有在访问它的java类中设置margin或padding。