0

我的应用程序中有一个 TabHost,我试图将图像放入文本中。我的问题是图像拉伸到整个屏幕而不是实际尺寸。我在高度和宽度中使用“wrap_content”,它仍然在做。当我将相同的图像放入其他带有“wrap_content”的商品时,就可以了。只有在标签中它很奇怪。这就是它的外观:

在此处输入图像描述

而不是这样:

在此处输入图像描述

那是我的代码:

<TabHost
    android:id="@+id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

           <TabWidget
               android:id="@android:id/tabs"
               android:layout_width="wrap_content"
               android:layout_height="60dp"
               android:gravity="center_vertical"
               android:showDividers="none" >

            </TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <LinearLayout
                android:id="@+id/tab1"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                <Button
                    android:id="@+id/button1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="start" />

                <Button
                    android:id="@+id/button2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="stop" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="first tab" />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/tab2"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                 <Button
                    android:id="@+id/button3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="second tab B" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Secont tab" />

            </LinearLayout>
        </FrameLayout>
    </LinearLayout>
</TabHost>

谢谢!

4

4 回答 4

2

您可以尝试从这样的 java 代码中缩放图像视图;

yourImageView.setScaleType(ScaleType.CENTER);

或像这样来自XML;

android:scaleType="fitCenter"
于 2012-08-08T07:44:23.840 回答
1

我使用相对布局修复它,如下所示:

<TabHost
    android:id="@+id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.8" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.1" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="false"
                android:layout_centerHorizontal="true"
                android:gravity="center_vertical"
                android:showDividers="none" >
            </TabWidget>

        </RelativeLayout>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.9" >

            <LinearLayout
                android:id="@+id/tab1"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                <Button
                    android:id="@+id/button1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="start" />

                <Button
                    android:id="@+id/button2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="stop" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="first tab" />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/tab2"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                 <Button
                    android:id="@+id/button3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="second tab B" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Secont tab" />

            </LinearLayout>
        </FrameLayout>
    </LinearLayout>
</TabHost>

不管怎么说,还是要谢谢你!!

于 2012-08-08T07:58:07.307 回答
1

您需要使用 9-patch 图像。

这是一个指南,可帮助您创建 9-patch 图像。 http://radleymarx.com/blog/simple-guide-to-9-patch/

于 2012-08-08T07:59:19.417 回答
1

很晚的答案,我相信你不再关心了,但其他人可能会。

这是另一个链接

九补丁生成器允许您根据指定的源图稿快速生成不同屏幕密度的简单九补丁。

如果您对此有任何问题,请查看此处。阅读CommonsWare答案。

于 2014-06-23T13:28:07.827 回答