2016-08-04 61 views
-1

我想要一個2(3?)相同大小的列tablelayout,其中我將在下面有一個圖像和一個文本,但文本應該保留在圖像的「邊界」 (我的意思是在圖像的左側和右側之間),並且我希望兩個(img +文本)都應該是可點擊的...Android:需要幫助設計一個tableLayout

當然,我希望我的設計「相同」在每一個設備上...

我真的很想在下面這樣的設計, 你可能沒有注意到,但文本大小是autoresize,在法國,shop = boutique和gear = equipements和2文本是更接近(?< =更多一點...對不起,如果translati上是不好的一個;))

http://i.imgur.com/l6NFwzf.jpg

你可以給我一個很好的教程,如果你能找到個什麼東西。

而且我忘了提及的是,較低的SDK必要的,最好的:)(實際上,我SDK 13/14)

在我的研究,我已經發現了這一點:How to scale/resize text to fit a TextView?文本大小調整(但它似乎是「實時」 ......不知道它是什麼,我需要...)

這裏是代碼

<?xml version="1.0" encoding="utf-8"?> 
<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:autofit="http://schemas.android.com/apk/res-auto" 

android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/background_clean" 
android:isScrollContainer="true" 
android:scrollbarAlwaysDrawVerticalTrack="true" 
android:scrollbarStyle="outsideInset" 
android:scrollbars="vertical" > 
<!--text can be resized using https://stackoverflow.com/questions/2596452/how-to-scale-resize-text-to-fit-a-textview --> 
<LinearLayout 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:gravity="center_horizontal" 
    android:orientation="vertical">" 
<TextView 
android:id="@+id/textView2" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/PHONSTER" 
android:textAppearance="?android:attr/textAppearanceLarge" /> 


<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:stretchColumns="*"> 
    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_safari"> 
      <Button 
       android:id="@+id/button_safari" 
       android:duplicateParentState="true" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/map" 
       android:textColor="#000" 
       /> 
      <TextView 
       android:id="@+id/textbutton_safari" 
       android:layout_below="@id/button_safari" 
       android:duplicateParentState="true" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/safari" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_dex"> 
      <Button 
       android:id="@+id/button_dex" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/dex" 
       android:textColor="#000"/> 
      <TextView 
       android:id="@+id/textbutton_dex" 
       android:layout_below="@id/button_dex" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/dex" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow00" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_ceinture"> 
      <Button 
       android:id="@+id/button_ceinture" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/belt" 
       android:textColor="#000" /> 
      <TextView 
       android:id="@+id/textbutton_ceinture" 
       android:layout_below="@id/button_ceinture" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/ceinture" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_shop"> 
      <Button 
       android:id="@+id/button_shop" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/shop" 
       android:textColor="#000" 
       /> 
      <TextView 
       android:id="@+id/textbutton_shop" 
       android:layout_below="@id/button_shop" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/shop" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
    </TableRow> 
    <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_inv"> 
      <Button 
       android:id="@+id/button_inv" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/backpack2" 
       android:textColor="#000" 
       /> 
      <TextView 
       android:id="@+id/textbutton_inventaire" 
       android:layout_below="@id/button_inv" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/inventaire" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_internet"> 
      <Button 
       android:id="@+id/button_internet" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/healthpoint" 
       android:textColor="#000" 
       /> 
      <TextView 
       android:id="@+id/textbutton_internet" 
       android:layout_below="@id/button_internet" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/internet" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
    </TableRow> 
    <TableRow 
     android:id="@+id/tableRow4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_loterie"> 
      <Button 
       android:id="@+id/button_loterie" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/loterie" 
       android:textColor="#000" 
       /> 
      <TextView 
       android:id="@+id/textbutton_loterie" 
       android:layout_below="@id/button_loterie" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/loterie" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_param"> 
      <Button 
       android:id="@+id/button_param" 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       android:background="@drawable/settings" 
       android:textColor="#000" 
       /> 
      <TextView 
        android:id="@+id/textbutton_param" 
       android:layout_below="@id/button_param" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:text="@string/param" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
     </RelativeLayout> 
    </TableRow> 
    <TableRow 
     android:id="@+id/tableRow5" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" > 
     <RelativeLayout 
      android:clickable="true" 
      android:orientation="vertical" 
      android:id="@+id/grp_code"> 
      <Button 
       android:id="@+id/button_code" 
       android:layout_width="wrap_content" 
       android:layout_weight="1" 
       android:layout_height="60dp" 
       android:background="@drawable/code" 
       android:textColor="#000" 
       /> 
      <TextView 
       android:id="@+id/textbutton_code" 
       android:layout_below="@id/button_code" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/code" 
       android:layout_gravity="center" 
       style="@style/TextNoir" /> 
      </RelativeLayout> 
    <!-- 
    <Button 
     android:id="@+id/button_echange" 
     android:layout_width="wrap_content" 
     android:layout_height="90dp" 
     android:layout_weight="1" 
     android:background="@drawable/echange" 
     android:text="@string/echange" 
     android:textColor="#000" 
     /> --> 
    </TableRow> 
</TableLayout> 

<TextView 
android:id="@+id/Version" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

android:text="@string/version" 
android:textColor="#AAAAAA" /> 
</LinearLayout> 
</ScrollView> 

正如你所看到的,我已經爲我的按鈕創建一個組+ +文本集可點擊= true,即使使用android:duplicateParentState =「true」< =如果你想嘗試一下:myphonster.com

回答

0

你有沒有關於以編程方式添加布局對象(圖像+文本)?所以你可以處理認爲easyer。

或者:如果您爲Image + Text'Object'實現自己的XML樣式會更容易。

此外:你migth希望使用一個很好的注入框架來投射佈局視圖。 檢查Butterknive出(真的有幫助)!

佈局教程找到here

+0

tablelayout只有1個元素和1個字符裏面是非常簡單的處理...我可能已經在我的要求更具體:一個教程比使用wysiwyg :)的YouTube的tuto更多的信息(<=沒有反對wysiwyg,但我與其他老軟件誰不關心其他框架比IE5不好記憶) 關於程序化的過程...我是那種認爲XML是爲了設計的人,Java是「按鈕後被按下「......我可能不得不改變我的想法:) 不過,謝謝,我會看看butterknive (並且我很喜歡-1而沒有解釋...) – Ronandroid

+0

已經成功了嗎? –

+0

nope ...我現在已經把它剔除了......要做其他比設計更重要的事情(而且沒有時間和動機) – Ronandroid