Tag: android layout

以编程方式设置视图宽度

我正在尝试在代码中设置视图的宽度和高度,以显示我正在处理的免费应用的广告。 除了这个广告,所有的用户界面都以XML格式完成。 以下是显示广告的代码。 它在onCreate 。 AdView adView = new AdView(this,"ad_url","my_ad_key",true,true); LinearLayout layout = (LinearLayout) findViewById(R.id.testing); adView.setAdListener(this); layout.addView(adView); 这导致广告以这种方式显示。 正如你所看到的宽度不完全填满整个页面。 现在当我改变这个代码来尝试设置大小: AdView adView = new AdView(this,"ad_url","my_ad_key",true,true); LinearLayout layout = (LinearLayout) findViewById(R.id.testing); adView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); adView.setAdListener(this); layout.addView(adView); 我得到这个: 我已经尝试了FILL_PARENT和WRAP_CONTENT所有不同组合,结果相同。 有什么我失踪? 或者,我可以让广告填充设备的宽度而不填充高度? 任何build议和帮助,不胜感激。 编辑时,我试图把它放在XML我得到一个exception: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:id="@+id/main_layout"> <fragment android:name="com.jasoncrosby.app.tipcalculatorfree.MainButtonFragment" android:id="@+id/button_frag" android:layout_width="fill_parent" android:layout_height="fill_parent"/> <com.adsdk.sdk.banner.AdView android:id="@+id/banner" android:layout_width="fill_parent" […]

所选标签下划线的TabLayout颜色

如何更改新TabLayout上选定选项卡下划线的颜色? PagerTabStrip有一个方法setTabIndicatorColor(int color) , TabLayout似乎没有这样的方法。

使用自定义行为为CollapsingToolbar创build多个“定位点”/位置

我正在尝试在searchlogin页面上使用与Google地图应用类似的折叠工具栏。 也就是说,有三个“定位点”或职位。 取代地图,我会有一张照片。 工具栏折叠(内容是全屏) 中间位置 仅显示一些内容的工具栏(持续底部表单) 优选地,应用程序应该在这些位置之间alignment 。 截至目前,我的布局基本上工作。 两个主要问题是: 在NestedScrollView内部乱弹无法正常工作。 它停止/ app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior" ,即使它使用的app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior" 。 我相信这是AppBarLayout一个错误 上述锚点没有实现。 这是我的布局: 请注意, app:layout_behavior="@string/appbar_anchor_behavior">只是AppBarLayout.Behavior一个未修改的子类 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/actions_bar_dark" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true" app:layout_behavior="@string/appbar_anchor_behavior"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll" android:fitsSystemWindows="true"> <ImageView android:id="@+id/item_preview_thumb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="centerCrop" android:layout_centerInParent="true" app:layout_collapseMode="parallax" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_collapseMode="pin" […]

片段devise:通过在单个活动中显示/隐藏片段来适应多个屏幕布局?

我想了解如何使用Fragments来创build适应多个屏幕和布局的应用程序。 我研究了几个例子: Android开发人员指南中的碎片文档。 Google IO应用 来自ActionBar Sherlock的片段样本。 所有这些倡导多种Activity方法: 在大屏幕上,显示具有多个Fragment的单个Activity 在一个较小的屏幕上,分割多个Activity的Fragment 。 我想到了另一种方法 – 单一的Activity一: 有一个单独的Activity其中的所有Fragment 。 根据屏幕大小和方向,显示/隐藏适当的Fragment (使用FragmentTransaction.show() / FragmentTransaction.hide() )。 为了说明Android开发者指南使用的相同的“新闻文章列表/文章内容”示例: 使News活动包含ArticleListFragment和ArticleReaderFragment 。 在选项卡上,总是显示两个片段。 在电话中, ArticleReaderFragment最初是隐藏的。 从列表中select文章时,将隐藏ArticleReaderFragment并显示ArticleReaderFragment 。 有没有人使用类似的方法? 这种方法可能有什么实际的缺点吗? 与多重活动方式相比,这看起来好吗? 例如,片段不能在XML中显示/隐藏 – 为此, 必须使用FragmentTransaction 。 编辑1:描述一个假设的情景 想象一下,一个应用程序最多可以在屏幕上显示三个“窗格”。 此外,这些是要考虑的因素: 电话一次只能显示一个窗格(无论纵向/横向) 7英寸平板电脑可以显示2个窗格,纵向分割,横向分割横向模式。 10英寸的平板电脑可以显示2个窗格,纵向分割; 3个窗格在横向上水平分割。 为了简单起见,让电视屏幕摆脱讨论。 现在,翻译这个devise: 我们有三个片段:Frag1,Frag2和Frag3。 在最简单的情况下,所有三个片段都在一个Activity中(让我们称之为ActivityA)。 这是10英寸的风景。 另一个“简单”的情况是当每个片段在自己的活动 – ActivityA包含Frag1; ActivityB包含Frag2,ActivityC包含Frag3。 到目前为止,我们没有考虑任何与Android开发人员指南中提供的新闻阅读器示例显着不同的内容。 唯一的主要区别是有三个片段,而不是两个。 […]

这是什么警告:忽略InnerClasses属性的一个匿名内部类没有与相关的EnclosingMethod属性

我创build了3个布局HDPI和MDPI和LDPI,我编辑了任何一个xml文件,在控制台中显示错误: 警告:忽略不具有关联的EnclosingMethod属性的匿名内部类的InnerClasses属性。 (这个类可能是由一个破碎的编译器产生的。)

屏幕button半宽

我有一个线性布局的button。 我想button占据其父母的一半宽度。 有没有办法在布局XML中做到这一点。 <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" android:padding="6dp"> <Button android:id="@+id/buttonCollect" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="@string/hello" android:paddingLeft="8dp" android:paddingRight="8dp"/> </LinearLayout> 我的问题很像这样一个指定宽度为一半可用的屏幕宽度声明,除非我只有一个button。

如何获得代码中的attr引用?

我期待通过代码从属性获取指向引用。 在我的xml布局中,我可以很容易地得到这样的引用可绘制: android:background="?attr/listItemBackground" 属性引用由我的主题设置。 我期待看看是否有可能通过代码获取引用可绘制。 我可以通过创build样式attr和读取自定义视图中的值来解决这个问题,但在这种情况下,我想弄清楚如果没有这样做,这是否可能。 我认为这将是可能的,但我还没有find方法来获得该属性的参考。 谢谢!

如何将滚动条添加到相对布局?

我是Android应用开发新手。 现在我正在devise一个应用程序,因为我有一个Activity ,其中包含一些内容,但这些内容是更多的内容是在屏幕之外。 现在,我想向用户展示这些内容,但是我不知道如何将滚动条保留在Activity 。 如何使用RelativeLayout显示滚动器的最终用户的总内容?

用户login时更改NavigationView项目

我的应用程序的主要活动有一个导航抽屉,以这种方式在XML中实例化: <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/drawer_header" app:menu="@menu/application_drawer" android:background="@color/white"/> 现在,导航抽屉的菜单条目如下: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/login" android:icon="@drawable/ic_action_person" android:title="@string/login"/> <item android:id="@+id/settings" android:icon="@drawable/ic_action_settings" android:title="@string/settings"/> <item android:id="@+id/terms" android:icon="@drawable/ic_action_about" android:title="@string/terms_and_conditions_menu"/> <item android:id="@+id/about" android:icon="@drawable/ic_action_about" android:title="@string/info_hotelsclick"/> </group> 我想要做的是在某些条件下dynamic更改第一个项目(也可能是其他项目)。 例如,我想在用户login后更改“login”条目的“login”条目;-) 我怎样才能做到这一点? 我设法以这种方式添加一个项目到抽屉里 Menu menu = navigationView.getMenu(); menu.add("Test"); 但对我来说这听起来不太好,我很确定必须有一个更清洁的方法。 …但是呢?

左alignment文本,右边的checkbox

我正在尝试创build一个ListView的布局,右边的checkbox和左边的一些文本。 checkbox应该一直向右alignment,并且TextView一直alignment到行的左侧,例如: ———————— text checkbox ———————— text checkbox ———————— text checkbox ———————— 这是我迄今为止: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingLeft="5dip" android:paddingRight="5dip" android:paddingTop="8dip" android:paddingBottom="8dip" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" /> <CheckBox android:id="@+id/chekcbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right" /> </RelativeLayout> 但是,实际呈现的是TextBox覆盖行左侧的checkbox。