Articles of android layout

调整一个Android多行TextView

我有一个活动,我想显示一个标题,占据了应用程序的顶部四分之一,并显示一组dynamic的文本。 在某些情况下,它将全部放在一行上,我希望字体大小适中,所以它很大,很容易阅读。 在某些情况下,它会在多行(通常小于4),并且需要更小。 复杂的是,如果我明确地在setText中设置换行符,有时它会插入一个换行符,我没有想到,换句话说: “我的第一行文字\ n我的第二行文字” 可能会变成(这是正确的调整在这个版本): “我的第一行 文本 我的第二行 的文字“ 我不知道如何保持TextView不插入换行符或让它只是格式化整个事情。 如果我将一些文本设置为一个非常长的单个单词,它会在某个选定的位置插入一个换行符。 而其他时候,我只是随便拿到最后几行文字。 我应该只是明确地设置字体大小是非常小,让它正确地布局,然后手动resize? 我应该用这个“最佳做法”吗? 如果我将字体大小设置为相当大的字体,那么这种方法很有用,但是如果能够find“正确”的方法,那将是一件好事。 而且我宁愿不必手动添加4个单行TextViews并自己设置格式。 我使用的布局xml是: <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_marginTop="10dip" android:layout_marginRight="8dip" android:singleLine="false" android:ellipsize="marque" android:gravity="right|bottom" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="30sp" />

Fragment.onCreateView具有空容器

以下是在Android 1.6上运行,所以我正在使用片段的兼容性包。 在下面的TestFragment是一个静态嵌套类: public class FragmentTestActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public static class TestFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { TextView result = new TextView(getActivity()); result.setText("Hello TestFragment"); return result; } } } main.xml文件: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <fragment class="com.test.FragmentTestActivity$TestFragment" android:id="@+id/test" […]

是否有可能使ActionBar选项卡高度高于ActionBar高度? 如果是这样,怎么样?

我正在使用ActionBarSherlock 在关于ActionBar选项卡高度的类似问题中,我使用了: <style name="YourTheme" parent="@android:style/Theme.Holo"> <item name="android:actionBarStyle">@style/blah1</item> <item name="android:actionBarTabStyle">@style/blah2</item> <item name="android:actionBarSize">80dp</item> .. </style> 我想我可以在每种风格上使用这个特定的属性 <item name="android:actionBarSize">80dp</item> 并从ActionBar选项卡高度单独调整ActionBar高度。 但它不起作用。 那么,这是一个我不能重写的Androiddevise原则吗? 标签必须始终与ActionBar的高度相同。

布局宽度等于高度

有没有一种方法来根据我的XML中的宽度的高度? 我有一些线性布局的button。 button的宽度取决于设备,因为它们水平填充屏幕。 我想要有方形的button,这是我的问题。 有没有人可以帮助我? <Button android:id="@+id/b_0xa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:clickable="false" android:text="@string/b_0xa" />

如何禁用/禁止IDEA“渲染问题”警告

IDEA一直在popup消息“Rendering Problems Missing styles。”是否为这个布局select了正确的主题? 是的,一切都是正确的,IDEA只是看不到来自AppCompat库的一些符号。 是否可以抑制这些警告? 因为这很烦人 (我希望IDEA只是“闭嘴”,尽其所能,忽略可能的错误。)

重新创build材料devise列表的问题在Android中留下

我想在滑动面板中重新创build“材质devise” 列表: Android中的控件 。 我正在使用: com.android.support:appcompat-v7 com.android.support:support-v4 com.android.support:recyclerview-v7 com.android.support:design https://github.com/umano/AndroidSlidingUpPanel https://github.com/serso/android-linear-layout-manager https://github.com/daimajia/AndroidSwipeLayout https://github.com/tmiyamon/gradle-mdicons 我最终使用了部分支持库,但是这个特定的应用程序只有5.0+,所以在我的代码中可能会有一些棒棒糖。 这里是我的RecyclerView中的列表项目的布局: <com.daimajia.swipe.SwipeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="right"> <RelativeLayout android:layout_width="42dp" android:layout_height="match_parent" android:background="?android:selectableItemBackground" android:clickable="true" android:focusable="true"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:src="@drawable/ic_delete_black_24dp"/> </RelativeLayout> <RelativeLayout android:id="@+id/surfaceView" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/ripple_floating" android:clickable="true" android:focusable="true" android:minHeight="48dp" android:paddingEnd="16dp" android:paddingStart="16dp" android:elevation="2dp"> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_centerVertical="true" android:ellipsize="end" android:singleLine="true" android:text="…"/> </RelativeLayout> </com.daimajia.swipe.SwipeLayout> […]

保真警告渲染问题

在Android Studio 2.2中创build项目时遇到问题 当试图创buildXML布局时,我得到以下警告: 点击显示时,出现以下错误 我怎样才能解决这个问题?

皮肤选项菜单Android

我试图在Android上蒙皮选项菜单。 我有一个自定义的主题背景颜色改变,但我不能让文字的颜色改变,出于某种原因。 我的主题 <style name="default" parent="@android:style/Theme.NoTitleBar"> <!– Menu panel colors –> <item name="android:panelBackground">@color/optionsMenuBackgroundColor</item> <item name="android:panelFullBackground">@color/optionsMenuBackgroundColor</item> <!– Menu item colors –> <item name="android:itemTextAppearance">@style/OptionsMenuFont</item> </style> 我的风格选项菜单字体 <style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item"> <item name="android:textColor">@drawable/menu_item_font</item> </style> 我的button颜色select器menu_item_font.xml的绘图 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <!– Put other state colors up top –> <item android:color="@color/optionsMenuTextColor" /> </selector> 那个颜色只是一个hex颜色#c4c4c4 我在这里错过了什么?

RelativeLayout没有正确更新自定义视图的宽度

我有这个容器类是用来使其中一个尺寸,无论是宽度或高度,其他维度的比例。 例如,我想要一个宽度为“match_parent”的16:9布局容器。 但是,当使用高度作为“match_parent”时,Android似乎不能正确地重新布局。 当我把高度设置为宽度的比例时,一切都很好! 反之亦然,它不工作。 这是怎么回事? public class RatioLayout extends ViewGroup { private float ratio = 1.6222f; // 4 x 3 default. 1.78 is 16 x 9 public float getRatio() { return ratio; } public void setRatio(float ratio) { this.ratio = ratio; requestLayout(); } public RatioLayout(Context context) { this(context, null); } public RatioLayout(Context context, AttributeSet […]

为什么setWidth不起作用?

例如,对于Android中的TextView,您必须设置LayoutParams而不是setWidth方法。 TextView tv = new TextView(getContext()); LayoutParams params = new LayoutParams(100, LayoutParams.WRAP_CONTENT); tv.setLayoutParams(params); 但为什么? 在Android文档中,它表示它会提供相同的结果。