1

enter image description here 以下是content_main.xml佈局文件代碼。以上是我作爲設計的輸出圖像:Android與表格佈局具有按鈕,文字和圖像的相對佈局

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 

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

      <TableRow 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:weightSum="1" 
       android:layout_weight="0.5"> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Area" 
         android:id="@+id/area" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true" 
         android:id="@+id/imageView" /> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Length" 
         android:id="@+id/length" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Weight" 
         android:id="@+id/weight" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
      </TableRow> 

      <TableRow 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:weightSum="1" 
       android:layout_weight="0.5"> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Temperature" 
         android:id="@+id/temperature" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Cooking" 
         android:id="@+id/cooking" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Currency" 
         android:id="@+id/currency" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
      </TableRow> 

      <TableRow 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:weightSum="1" 
       android:layout_weight="0.5"> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Digital Storage" 
         android:id="@+id/storage" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Energy" 
         android:id="@+id/energy" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Fuel Consumption" 
         android:id="@+id/fuel" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
      </TableRow> 

      <TableRow 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:weightSum="1" 
       android:layout_weight="0.5"> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Power" 
         android:id="@+id/power" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Pressure" 
         android:id="@+id/pressure" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Speed" 
         android:id="@+id/speed" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
      </TableRow> 

      <TableRow 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:weightSum="1" 
       android:layout_weight="0.5"> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Time" 
         android:id="@+id/time" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Torque" 
         android:id="@+id/torque" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
       <RelativeLayout 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="0.33"> 
        <Button 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:text="Volume" 
         android:id="@+id/volume" 
         android:textSize="12sp" 
         android:onClick="onClick" 
         android:gravity="center|bottom" 
         android:paddingBottom="10dp"/> 
        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true"/> 
       </RelativeLayout> 
      </TableRow> 
     </TableLayout> 

    </RelativeLayout> 

下面是activity_main.xml中的文件:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="sg.unitconverter.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/content_main"/> 

</android.support.design.widget.CoordinatorLayout> 

其面積,長度和重量的第一行是比其他地區不同行。我希望所有行的大小相等。任何人都可以幫忙嗎?

下面是清單的XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="sg.unitconverter"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name="sg.unitconverter.MainActivity" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="sg.unitconverter.StandardCal" 
      android:label="@string/title_activity_standard_cal" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.ScientificCal" 
      android:label="@string/title_activity_scientific_cal" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitConverter" 
      android:label="@string/title_activity_unit_coverter" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitArea" 
      android:label="@string/title_activity_unit_area" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitLength" 
      android:label="@string/title_activity_unit_length" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitWeight" 
      android:label="@string/title_activity_unit_weight" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitTemperature" 
      android:label="@string/title_activity_unit_temperature" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitCooking" 
      android:label="@string/title_activity_unit_temperature" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitCurrency" 
      android:label="@string/title_activity_unit_area" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitEnergy" 
      android:label="@string/title_activity_unit_length" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitFuel" 
      android:label="@string/title_activity_unit_weight" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitPower" 
      android:label="@string/title_activity_unit_temperature" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitPressure" 
      android:label="@string/title_activity_unit_temperature" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitSpeed" 
      android:label="@string/title_activity_unit_area" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitStorage" 
      android:label="@string/title_activity_unit_length" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitTime" 
      android:label="@string/title_activity_unit_weight" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitTorque" 
      android:label="@string/title_activity_unit_temperature" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.UnitVolume" 
      android:label="@string/title_activity_unit_temperature" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name="sg.unitconverter.History" 
      android:label="@string/title_activity_history" 
      android:theme="@style/AppTheme.NoActionBar"></activity> 
    </application> 

</manifest> 
+0

爲什麼不ü用recylerview與girdlayout經理 https://developer.android.com/guide/topics/ui/layout/recyclerview.html – Pavan

+0

,我可以看到,目前u有所有大小相等的物品 – Pavan

+0

@Pavan,從來不知道太多。所以我只試過這個。是不是有相同的佈局解決方案? – userash

回答

0

添加填充的內容等於actionBar高度的頂部,以抵消它:

<RelativeLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="?attr/actionBarSize" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 
... 

也都fill_parentmatch_parent取代因爲它被棄用,並且都做同樣的事情。

+0

非常感謝。這工作完美 – userash

0

我認爲工具欄與您的內容佈局重疊。只需將app:layout_behavior="@string/appbar_scrolling_view_behavior"添加到根RelativeLayout,不要使用填充。