2016-08-04 112 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