Tag: android xml

渐变半径作为屏幕大小的百分比

我试图创build一个可绘制的径向渐变背景形状,其半径将根据屏幕大小进行调整(请参阅相关文档 )。 这是我的代码: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:endColor="#000" android:gradientRadius="50%p" android:startColor="#5d2456" android:type="radial" /> </shape> 但它似乎不工作。 如果我删除“%P”,它的工作,但是然后半径将是静态的,因此不调整到屏幕大小…任何想法有什么不对?

你如何在Android上创build首选项活动和偏好片段?

当我正在关注一个老的教程( Créezdes应用程序灌输Android – > openclassroom )时,我被卡在PreferenceActivity类的这个弃用的方法addPreferencesFromResource(int id) 。 所以我的问题是: 在Android中创build首选项的新方法是什么?

Androidbutton具有不同的背景颜色

我想用selector-xml-file来改变button的背景颜色。 我的方法基本上是从本页底部的例子: http : //developer.android.com/guide/topics/resources/color-list-resource.html 我有一个res / color / button_text.xml如下所示: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#ffff0000"/> <!– pressed –> <item android:state_focused="true" android:color="#ff0000ff"/> <!– focused –> <item android:color="#ff000000"/> <!– default –> </selector> 和我的布局包含以下代码: <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/button_text" **android:background="@color/button_text"** /> (**只是在那里向你展示,我使用android:背景,而不是android:textcolor) 此代码崩溃。 它说:“二进制XML文件行#4标签需要'drawable'属性或子标签定义drawable。但是,如果我尝试使用android:textColor在上面的链接描述,它工作得很好,所以它必须是背景问题。如果没有必要的话,不想创build9patch-png(基本上我只需要一个“可点击的”矩形,所以我使用带有彩色背景的button)

从复数获得一个string在XML中使用?

我正在使用复数来简化我的代码。 例如,我曾经拥有 <string name="cat">Cat</string> <string name="cats">Cats</string> 使用复数而不是多个string,我现在有 <plurals name="cats"> <item quantity="one">Cat</item> <item quantity="other">Cats</item> </plurals> 不过,我曾经检索过string,将其用作XML中的标题或摘要。 例如, android:title="@string/cats" 已经删除该string赞成复数,我现在不确定如何从XML中检索我的string。 我做了一个天真的尝试 android:title="@plurals/cats" 但这只是给我@1234567890而不是Cats (或Cat )。 任何人都知道是否有可能检索从XML复数string?

当selectAndroid xml文件时,Eclipse运行button不起作用

我在Mac上安装了Eclipse Juno SR1和Android SDK Tools 21.1,SDK Platform-tools 16.0.2(latest)。 当我select了一些XML文件并点击运行button,什么也没有发生。 我必须在包资源pipe理器中select一些Java文件或项目。 然后运行。 当我编辑XML文件时非常烦人。 它在以前版本的Android SDK工具中工作。 任何人都知道任何解决scheme或解决方法?

在XML预览呈现问题:无法定位模式0

在渲染过程中更新android studioexception之后。 在渲染过程中引发exception:无法定位模式0 java.lang.IllegalStateException: Unable to locate mode 0 at android.view.DisplayInfo.findMode(DisplayInfo.java:458) at android.view.DisplayInfo.getMode(DisplayInfo.java:445) at android.view.Display.getRefreshRate(Display.java:648) at android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2392) at android.view.View.dispatchAttachedToWindow(View.java:15392) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2953) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42) at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:333) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) at com.android.tools.idea.rendering.RenderTask.lambda$inflate$53(RenderTask.java:659) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) […]

我想让我的应用程序只在Android横向

我想使我的应用程序只在横向模式下工作,但不能使其工作。 我给了screenOrientation = "landscape"即使第一页将处于横向模式,其他活动将是纵向。 XML文件 <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".IntroHome" android:label="@string/app_name" android:screenOrientation="landscape"> </activity> <activity android:name=".ObjectivesPage" android:label="@string/app_name" android:screenOrientation="landscape" > </activity> <activity android:name=".MenuPage" android:label="@string/app_name" android:screenOrientation="landscape" > </activity> </application> JAVA类 public class ObjectivesPage extends Activity{ ImageButton imgButton; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.objectivespage); […]

尽pipeRecyclerView没有足够的内容滚动,但AppBarLayout中的工具栏是可滚动的

是否真的打算在AppBarLayout的工具栏可滚动,虽然“appbar_scrolling_view_behavior”主容器没有足够的内容真正滚动? 到目前为止我所testing的是: 当我使用一个NestedScrollView(“wrap_content”属性)作为主容器和一个TextView作为子,AppBarLayout工作正常,不滚动。 但是,当我使用RecyclerView只有几个条目和“wrap_content”属性(以便不需要滚动)时,即使RecyclerView从未收到滚动事件(使用OnScrollChangeListenertesting),AppBarLayout中的工具栏也是可滚动的)。 这是我的布局代码: <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/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:theme="@style/ToolbarStyle" /> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recycler" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 有以下效果,工具栏是可滚动的,虽然它不是必需的: 我还find了一个方法来处理这个问题,通过检查所有的RecyclerView项是否可见并使用RecyclerView的setNestedScrollingEnabled()方法。 尽pipe如此,它看起来更像是一个打算给我的bug。 有什么意见? :d 编辑#1: 对于可能对我当前的解决scheme感兴趣的人,由于LayoutManager在调用方法来查找时始终返回-1,所以必须将setNestedScrollingEnabled()逻辑置于Handler的postDelayed()方法中,延迟时间为5 ms是否第一个和最后一个项目是可见的。 我在onStart()方法中使用这段代码(在我的RecyclerView被初始化之后),每次发生RecyclerView的内容更改之后。 final LinearLayoutManager layoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager(); new Handler().postDelayed(new Runnable() { @Override public void run() { […]

为标签LinearLayoutfind意外的命名空间前缀“xmlns”

我在下面的XML文件中有一个错误。 “为标签LinearLayoutfind意外的命名空间前缀”xmlns“” 。 我也尝试了其他类似问题中提供的解决scheme,但它并不适用于我。 在使用LinearLayout 3行中发生同样的错误。 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/background" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/menu_top_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/name_version" android:textColor="@color/black" android:textSize="20sp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > </LinearLayout> <!– A horizontal line –> <FrameLayout android:layout_width="fill_parent" android:layout_height="30px" > </FrameLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="vertical" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" […]

是否有可能在xml描述中旋转drawable?

我正在创build一个应用程序,可以重复使用的资源(因为button总是相同的,但镜像或旋转)。 我想要使​​用相同的资源,所以我不必添加3个更多的资源,就像原来的,但旋转。 但是我也不想把代码和XML中可以声明的东西混合起来,或者用一个会花费处理时间的matrix进行转换。 我有一个XML中声明的两个状态button。 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/and_card_details_button_down_left_onclick" /> <!– pressed –> <item android:drawable="@drawable/and_card_details_button_down_left" /> <!– default –> </selector> 我想重复使用drawable,因为它将会是相同的,但是旋转了90º和45º,我把这个button分配给drawable。 <Button android:id="@+id/Details_Buttons_Top_Left_Button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/details_menu_large_button" /> 我知道我可以用RotateDrawable或Matrix来旋转它,但正如我已经解释过的,我不喜欢这种方法。 是否有可能直接在XML上实现,或者你认为这将是最好的方法吗? 把所有的资源,但旋转,旋转他们的代码? —编辑— @dmaxi的答案很好,这是如何将它与一个项目列表:) <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <rotate android:fromDegrees="90" android:toDegrees="90" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/and_card_details_button_up_onclick"/> </item> <item> <rotate android:fromDegrees="90" android:toDegrees="90" android:pivotX="50%" android:pivotY="50%" […]