我在我的应用程序中有一个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>
谢谢!
答案 0 :(得分:2)
您可以尝试从像这样的Java代码缩放图像视图;
yourImageView.setScaleType(ScaleType.CENTER);
或者像这样的XML;
android:scaleType="fitCenter"
答案 1 :(得分: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>
非常感谢!!
答案 2 :(得分:1)
您需要使用9补丁图片。
这是一个可以帮助您创建9补丁图像的指南。 http://radleymarx.com/blog/simple-guide-to-9-patch/
答案 3 :(得分:1)
答案非常晚,我相信你不再关心,但其他人可能会这样。
这是
的另一个Link九补丁生成器允许您根据指定的源图片快速生成不同屏幕密度的简单九个补丁。
如果您有任何问题,请查看 Here 。阅读CommonsWare答案。