如何为横向设置一个布局,为纵向设置一个?当用户将手机侧向旋转时,我想假设额外的宽度并节省垂直空间.
我在每个活动的底部都有一组导航按钮.在某些活动中,我需要在其顶部搜索文本视图.但是,每当用户在textview中键入内容时,软键盘总是会向上推导我的导航按钮,即使它实际上没有阻止文本视图.它让我的UI看起来很有趣.如何强制我的导航按钮在不受软键盘推动的情况下保持静止?我试图设置Activity的windowSoftInputMode,但没有一个配置有帮助.
有什么建议?谢谢
将Android Studio从2.3更新到3.0后,我buildToolsVersion从26.0.0 更改为26.0.2,之后我收到此错误:
Cannot resolve symbol '?attr/actionBarSize
Run Code Online (Sandbox Code Playgroud)
Xml代码:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:titleTextColor="@android:color/white"/>
Run Code Online (Sandbox Code Playgroud)
依赖关系:
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
Run Code Online (Sandbox Code Playgroud) 如果你看一下附图.我需要我的按钮才能正确对齐,但由于某种原因,它不适用于'gravity:right'...

这是我的布局代码:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="35dp">
<TextView
android:id="@+id/lblExpenseCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel"
android:textColor="#404040"
android:layout_marginLeft="10dp"
android:textSize="20sp"
android:layout_marginTop="9dp" />
<Button
android:id="@+id/btnAddExpense"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:background="@drawable/stitch_button"
android:layout_marginLeft="10dp"
android:text="@string/add"
android:layout_gravity="right"
android:layout_marginRight="15dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
为什么不工作?!
我真的想在我自己的应用程序中实现这个(侧面导航),有谁知道Google如何设法做到这一点?
他们似乎已将当前窗口拉到一边并进入他们自己的飞入导航.

android android-widget android-layout android-actionbar android-side-navigation
是否真的没有XML属性对应setAlpha(int)?
如果没有,有什么替代品?
我想为包含一些按钮的LinearLayout定义百分比宽度(70%),以便我可以将其居中,以便子按钮可以fill_parent.这是一张显示我的意思的图片:

我目前的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:id="@+id/layoutContainer" android:orientation="vertical">
<LinearLayout android:layout_width="fill_parent"
android:id="@+id/barContainer" android:orientation="horizontal"
android:layout_height="40dp" android:background="@drawable/titlebackground">
<ImageView android:id="@+id/barLogo" android:src="@drawable/titlelogo"
android:layout_gravity="center_vertical" android:adjustViewBounds="true"
android:layout_height="25dp" android:layout_width="wrap_content"
android:scaleType="fitXY" android:paddingLeft="5dp"></ImageView>
</LinearLayout>
<TextView android:layout_height="wrap_content"
android:layout_width="fill_parent" android:gravity="center_horizontal"
android:id="@+id/searchTip" android:text="@string/searchTip"
android:paddingTop="10dp" android:paddingBottom="10dp"></TextView>
<LinearLayout android:layout_height="wrap_content"
android:id="@+id/linearLayout1" android:orientation="vertical" android:layout_width="wrap_content">
<Button android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
<Button android:layout_width="wrap_content" android:id="@+id/button2" android:layout_height="wrap_content" android:text="Button"></Button>
<Button android:layout_width="wrap_content" android:id="@+id/button3" android:layout_height="wrap_content" android:text="Button"></Button>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我引用的LinearLayout具有id:linearLayout1.我该怎么做呢?
Android保证金开始和右边(或保证金结束和左边)有什么区别?
这是一个微不足道的问题,但我似乎无法从文档中学习视图开始/结束和左/右之间的区别.可能我只是听不懂东西,但我根本无法取得任何进展.
我有一个包含RecyclerView的片段,其layout_width ="match_parent":
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$PlaceholderFragment" />
Run Code Online (Sandbox Code Playgroud)
RecyclerView中的项目是CardView,其layout_width ="match_parent":
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
card_view:cardCornerRadius="4dp">
<TextView
android:layout_gravity="center"
android:id="@+id/info_text"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent"
android:textAppearance="?android:textAppearanceLarge"/>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
我将物品视图膨胀如下:
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
CardView v = (CardView) LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_listitem, null, true);
ViewHolder vh = new ViewHolder(v);
return vh;
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,CardView呈现为wrap_content,如下所示:

请注意,这是在模拟器上运行,而不是在真实设备上运行.
我做错了什么,还是一个错误?
android android-layout android-cardview android-5.0-lollipop android-recyclerview
在Android中支持不同的屏幕尺寸(密度)时,通常关注的是为每个可能的屏幕创建不同的布局.IE
我为xhdpi屏幕设计了一个布局作为参考,并在dimens.xml中定义了它的尺寸.现在我想支持每个可能的屏幕尺寸.我怎样才能做到这一点?
据我所知,我可以使用此工具找出适合其他屏幕尺寸的dimens.xml并将其添加到我的项目中.这是在我的情况下这样做的正确方法吗?
另一个问题,我是否只需要为上面的屏幕尺寸创建dimens.xml?如果是,那么是什么w820dp?
谢谢你的帮助.我只需要支持手机(不是平板电脑或其他设备).
android android-layout android-screen-support android-activity