gpt4 book ai didi

安卓同屏分辨率

转载 作者:行者123 更新时间:2023-11-29 14:06:57 24 4
gpt4 key购买 nike

在 Android 中,我需要为 Default(WVGA800) 设置相同的分辨率HVGA QVGA 和所有模拟器,这意味着模拟器的大小现在应该无关紧要 我有这个 xml 文件,我需要修复大小底部的标签栏,我该怎么办?现在我面临的问题是..我必须在底部为标签栏留出空间。所以,当我在 Default(WVGA800) HVGA 或 QVGA 中运行同一个应用程序时,它会与选项卡栏上的 webview 重叠,所以看起来很糟糕,我该怎么办?我正在使用 Android 1.6

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:id="@+id/rl"
android:layout_height="371dip">
<!-- <WebView android:id="@+id/webviewHelp" android:layout_width="fill_parent"-->
<!-- android:layout_height="fill_parent" />-->
<WebView android:id="@+id/webviewHelp" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<Button android:id="@+id/My_btn"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" android:gravity="center" android:textSize="8px" android:text="Download this mp3 file"
android:textColor="@color/white"
android:layout_width="fill_parent" android:layout_height="33dip"
android:visibility="invisible" />
<Button android:id="@+id/My_btn1"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" android:text="this is button !"
android:layout_width="0dip" android:layout_height="0dip"
android:visibility="invisible" />
</RelativeLayout>

这是我的标签栏 Activity 类

final TabHost tabHost = (TabHost) getTabHost();
try {

//GlobalVariable.Setdownload(0);
tabHost.addTab(createTab(myclsname.class, "Welcome",
"Welcome", R.drawable.tab_icon_events));
tabHost.addTab(createTab(anotheclsname.class, ".Mp3List", ".Mp3List",
R.drawable.tab_icon_pitchforkfm));
tabHost.addTab(createTab(AboutUs.class, "AboutUs", "AboutUs",
R.drawable.tab_icon_home));
tabHost.addTab(createTab(ExtraInfromation.class, "ExtraInformation", "ExtraInformation",
R.drawable.tab_icon_tv));

tabHost.setCurrentTab(1);
} catch (Exception e) {
// TODO: handle exception
}
tabHost.getTabWidget().getChildAt(0).getLayoutParams().width = 85;
tabHost.getTabWidget().getChildAt(0).getLayoutParams().height=57;
tabHost.getTabWidget().getChildAt(1).getLayoutParams().width = 85;
tabHost.getTabWidget().getChildAt(2).getLayoutParams().width = 85;
tabHost.getTabWidget().getChildAt(3).getLayoutParams().width = 85;
tabHost.setOnTabChangedListener(new OnTabChangeListener() {

bla.. bla.. bla..

private TabSpec createTab(final Class<?> intentClass, final String tag,
final String title, final int drawable)
{
final Intent intent = new Intent().setClass(this, intentClass);

final View tab = LayoutInflater.from(getTabHost().getContext())
.inflate(R.layout.tab, null);
((TextView) tab.findViewById(R.id.tab_text)).setText(title);
((ImageView) tab.findViewById(R.id.tab_icon))
.setImageResource(drawable);

return getTabHost().newTabSpec(tag).setIndicator(tab)
.setContent(intent);
}

我应该怎么做,上面的问题会得到解决吗?

最佳答案

这里有几个问题:

  • 您无法在所有不同的屏幕上使用相同的布局。这已经在这里和 android dev guide 中一遍又一遍地重复了。 .如该链接中所述,您必须为每个屏幕分辨率组设置布局文件夹,并为每个屏幕分辨率组创建具有所需尺寸的布局(至少 res/layout-smallres/layout-normalres/layout-large)。此外,您可能需要为每个屏幕密度(res/drawable-hdpires/drawable-mdpi 创建一组位图(如果有的话) code>res/drawable-ldpi 至少)。

  • 如果您想修复底部的选项卡,请按照以下问题的答案进行操作:How to reduce the tab bar height and display in bottom .

  • 如果您使用 RelativeLayout而不是 LinearLayout,那么您可以使用 android:layout_above="@id/tabs" 强制 android 呈现标签上方的所有内容和不重叠它们。

  • 如果内容大于屏幕,则考虑将您的布局包含在 ScrollView 中.

  • 与这个问题无关,但与 SO 中的 future 问题非常相关:请尽量避免发布不相关的代码。 Java 部分对你的问题不感兴趣。

关于安卓同屏分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6313988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com